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

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

算法思想:扫描顺序表的L的前半部分元素,对于元素L.data[i](0<=i<L.length/2),将其与后半部分的对应元素L.data[L.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;
    }
}
相关推荐
HAPPY酷1 分钟前
C++ 成员指针(Pointer to Member)完全指南
java·c++·算法
Sunsets_Red6 分钟前
浅谈随机化与模拟退火
java·c语言·c++·python·算法·c#·信息学竞赛
Felven11 分钟前
A. Add and Divide
数据结构·算法
Frostnova丶15 分钟前
LeetCode 67. 二进制求和
算法·leetcode
上海锟联科技25 分钟前
DAS 与 FBG 振动监测对比:工程应用中该如何选择?
数据结构·算法·分布式光纤传感
星火开发设计25 分钟前
模板参数:类型参数与非类型参数的区别
java·开发语言·前端·数据库·c++·算法
JialBro35 分钟前
【嵌入式】直流无刷电机FOC控制算法全解析
算法·嵌入式·直流·foc·新手·控制算法·无刷电机
昌兵鼠鼠35 分钟前
LeetCode Hot100 哈希
学习·算法·leetcode·哈希算法
忘梓.36 分钟前
二叉搜索树·极速分拣篇」:用C++怒肝《双截棍》分拣算法,暴打节点删除Boss战!
开发语言·c++·算法
人工智能AI酱37 分钟前
【AI深究】高斯混合模型(GMM)全网最详细全流程详解与案例(附Python代码演示) | 混合模型概率密度函数、多元高斯分布概率密度函数、期望最大化(EM)算法 | 实际案例与流程 | 优、缺点分析
人工智能·python·算法·机器学习·分类·回归·聚类