题目
设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)
算法思想
扫描顺序表L的前半部分元素,对于元素L.data[i]
(0<=i<L.length/2),将其与后半部分的对应2元素L.data[L.length-i-1]
进行交换
算法
void Reverse(sqlist &L){
Elemtype temp; //辅助变量
for(i=0;i<L.length/2;i++){
temp=L.data[i];
L.data[i]=L.data[length-i-1];
L.data[length-i-1]=temp;
}
}