线性表——设计一个高效算法,将顺序表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;
    }
}
相关推荐
Doubbbbbbble云2 小时前
基于贪心算法的区间覆盖问题求解策略4
算法·贪心算法
不会就选b8 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
Cccp.12311 小时前
【leetcode】(七)前缀树和贪心算法
数据结构·leetcode·贪心算法
千里码aicood11 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
做cv的小昊12 小时前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型
لا معنى له12 小时前
World-In-World: World Models in a Closed-Loop World
算法
Logic10114 小时前
C语言/数据结构位运算题解:异或XOR找出多任务下载器中的“独特下载速度“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质
Discipline102914 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder15 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法