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

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

算法思想:扫描顺序表的L的前半部分元素,对于元素L.datai(0<=i<L.length/2),将其与后半部分的对应元素L.dataL.length-i-1进行交换。

本题代码如下:

cpp 复制代码
void Reverse(SqList &L){
    ElemType temp;    //辅助变量
    for(int i=0;i<length/2;i++){
        temp=L.data[i];                //交换L.data[i]与L.data[length-i-1]
        L.data[i]=L.data[length-i-1];
        L.data[length-i-1]=temp;
    }
}
相关推荐
Js.Tx1 小时前
【具体数学 Concrete Mathematics】2.1.5 一般性的方法
算法·具体数学
秋天的怀念_David3 小时前
算法一千零一夜 · 作品相关:版权与致谢声明
程序人生·算法·学习方法
图灵-M3 小时前
【数据结构】静态 & 动态顺序表
c语言·数据结构·笔记
揽星河..3 小时前
【C语言】数组
c语言·开发语言·算法
careathers3 小时前
【数据结构】基于比较的排序算法 - 选择排序
数据结构·算法·排序算法
听风若依3 小时前
C++模板初阶
c++·算法
纪念 2294 小时前
C++ 算法(模拟)
开发语言·c++·算法
揽星河..4 小时前
【C语言】函数
c语言·算法
zwc32104320554 小时前
Day 2:图像内存、数据类型与stride
c++·人工智能·opencv·算法·计算机视觉
重生之小比特4 小时前
【算法拾光】模拟|提莫攻击 + N 字形变换
算法·模拟