数据结构算法题day03
题目
2.设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)
算法思想:
1、常规的解法:
Void reverse (sqlist &L){
Elemtype temp; //辅助变量
for(i = 0,i < L.length; i++){
temp = L.data[i];
L.data[i] = L.data[L.length - 1 – i] // L.length = n + 1 n = L.length – 1
L.data[L.length - 1 – i] = temp;
}
}
算法思想:
2、递归法: //二叉树 -> 递归
//好处:简洁
Void reverse (int *a , int low , int high){
if( low < high)
swap(a[low],a[high])
reverse(A,low+1,high-1)
}