逆置顺序表

线性表算法题(2)

Posted by HK on September 26, 2020

题目

设计一个高效算法,将顺序表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;
	}
}