题目:设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)
关键字:顺序表,逆置
思路:
1.遍历扫描,两两一对,头尾互换
需要变量:data[i] 和data[n-1-i]互为一对
互换小助手temp
遍历小助手i
2.互换操作只需要进行到中间位置
需要范围:n/2
void Reverse(Sqlist &L){
ElemType temp;
for (i=0;i<L.length/2;i++){
temp=L.data[i];
L.data[i]=L.data[L.length-1];
L.data[L.length-i-1]=temp;
}
}在这里插入代码片