2.设计一个高效算法,将顺序表L的所有元素逆序,要求算法空间复杂度为O(1);
如果新创建一个同样大小的顺序表,在复制原来表中的元素到新的顺序表,这时候的空间复杂度为O(n)不符合题目要求,只能是前半部分与后半部分交换,利用:前半部分交换元素的坐标 + 对称后半部分交换元素的坐标 = 数组长度 - 1
/**
* 空间复杂度为O(1)将顺序表逆序
* */
void reverseList(SqList *List)
{
ElemType temp;
for(int i = 0; i < List->length / 2; i++)
{
temp = List->data[i];
List->data[i] = List->data[List->length-1-i];
List->data[List->length-1-i] = temp;
}
}