设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)

题目:
设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)

算法思想:
扫描顺序表L的前半部分元素L.data[i] (0<=i 代码:

void Reverse(Sqlist &L) {
	ElemType temp;	//辅助变量

	//交换L.data[i]与L.data[L.length-1-i]
	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;
	}
}

你可能感兴趣的:(数据结构与算法设计)