线性表——设计一个高效算法,将顺序表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;
    }
}
相关推荐
余额瞒着我当琳5 小时前
C++ map 底层与AVL 树
开发语言·c++·算法
释厄6235 小时前
物理发展史·量子力学=节点2·牛顿力学=节点3·宇宙的语言算法AI
人工智能·算法·microsoft
CQU_JIAKE5 小时前
9.30【A】
算法
INGNIGHT5 小时前
1897 · 会议室 3(扫描线)
数据结构·算法
All for pursuit.5 小时前
【贪心-2】253.会议室 II
数据结构·c++·算法·leetcode
垆边人似月.5 小时前
华为机考题(一):质数因子
算法·华为
迷途之人不知返6 小时前
算法系列5:位运算
算法
牢姐与蒯6 小时前
c++加餐之位图
c++·算法·哈希
Omics Pro6 小时前
预测性虚拟细胞中显式机理算子
大数据·数据库·人工智能·python·算法·机器学习·自然语言处理
驭渊的小故事6 小时前
算法实战:滑动窗口、素数枚举与字符串模拟(三道经典题解)
java·算法