数据结构_算法实现顺序表相关问题_2

一、问题描述:

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

二、算法思想:

扫描顺序表L的前半部分元素,对于元素L.data[i](0 <= i < L.length / 2),将其与后半部分的对应元素L.data[L.length - i - 1]进行交换。

三、算法代码:

void Reverse(SqList &L)
{
    
    
	ElemType temp;  //辅助变量,ElemType为想要设置的变量类型,默认为int类型
	for(int i = 0;i < L.length / 2;i++)
	{
    
    
		temp = L.data[i]; //交换L.data[i]与L.data[L.length - i - 1];
		L.data[i] = L.data[L.length - i - 1];
		L.data[L.length - i - 1] = temp;
	}
	
}

猜你喜欢

转载自blog.csdn.net/qq_56866000/article/details/131926932
今日推荐