线性表——设计一个高效算法,将顺序表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;
    }
}
相关推荐
blackicexs5 分钟前
第四周第四天
数据结构·c++·算法
TracyCoder1238 分钟前
LeetCode Hot100(46/100)——74. 搜索二维矩阵
算法·leetcode·矩阵
foundbug99910 分钟前
果蝇优化算法(FOA)详解:原理、实现与应用
算法
游乐码10 分钟前
c#递归函数
算法·c#
Pluchon10 分钟前
硅基计划4.0 算法 简单实现B树
java·数据结构·b树·算法·链表
im_AMBER20 分钟前
Leetcode 119 二叉树展开为链表 | 路径总和
数据结构·学习·算法·leetcode·二叉树
Eloudy24 分钟前
SuiteSparse 的 README
人工智能·算法·机器学习·hpc
DN202042 分钟前
当AI开始评估客户的“成交指数”
数据结构·人工智能·python·microsoft·链表
苏荷水1 小时前
万字总结LeetCode100(持续更新...)
java·算法·leetcode·职场和发展
gihigo19981 小时前
MATLAB运动估计基本算法详解
开发语言·算法·matlab