题目:设计一个高效的算法,将顺序表的所有元素逆置,要求算法的空间复杂度为O(1)。
算法思想:扫描顺序表的前半部分元素,对于元素L.data[i] (0<=i<L.length/2),将其余后半部分对应元素L.data[L.lengtn-i-1]进行交换。
空间复杂度:
算法的空间复杂度S(n),定义为该算法所耗费的存储空间,它是问题规模n的函数。渐近空间复杂度也常简称为空间复杂度,记作S(n)=O(g(n))。
一个上机程序除了需要存储空间来存放本身所用指令、常数、变量和输入数据外,也需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间,若输入数据所占空间只取决于问题本身,和算法无关,则只需分析除输入和程序之外的额外空间。
算法原地工作是指算法所需辅助空间是常量,即O(1)。
自己写的核心代码(算法):
void Reverse_Sq(