数据结构2.2.3 综合应用题 2.
题目:设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)
#include<cstdio>
#define MaxSize 50
typedef int ElemType;
typedef struct {
ElemType data[MaxSize];
int length;
}SqList;
void Reverse(SqList &L) {
ElemType temp; //辅助变量
for(int i = 0; i < L.length/2; i++) {
temp = L.data[i];
L.data[i] = L.data[L.length-1-i];
L.data[L.length-1-i] = temp;
}
}
int main() {
SqList L;
L.length = 0;
for(int i = 0; i < 5; i++) {
scanf("%d", &L.data[i]);
L.length++;
}
Reverse(L);
for(int i = 0; i < L.length; i++) {
printf("%d ", L.data[i]);
}
return 0 ;
}