线性表——设计一个高效算法,将顺序表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;
    }
}
相关推荐
寒秋花开曾相惜2 分钟前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.3 字级的组合电路和HCL整数表达式)
android·网络·数据结构·笔记·学习
发疯幼稚鬼3 分钟前
二叉树的广度优先遍历
c语言·数据结构·算法·宽度优先
谭欣辰4 分钟前
C++ DFS 与 BFS 剪枝方法详解
c++·算法·剪枝
love在水一方6 分钟前
【Voxel-SLAM】Data Structures / 数据结构文档(二)
数据结构·人工智能·机器学习
Via_Neo14 分钟前
乘积最大问题
数据结构·算法
CN-Dust20 分钟前
【C++专题】格式化输出与输入
开发语言·c++·算法
自我意识的多元宇宙30 分钟前
数据结构----插入排序
数据结构·算法·排序算法
im_AMBER30 分钟前
Leetcode 162 除了自身以外数组的乘积 | 接雨水
开发语言·javascript·数据结构·算法·leetcode
Westward-sun.32 分钟前
YOLO目标检测算法与mAP评估指标详解(附示例)
算法·yolo·目标检测
cpp_250141 分钟前
P1873 [COCI 2011/2012 #5] EKO / 砍树
数据结构·c++·算法·题解·二分答案·洛谷·csp