【数据结构】【顺序表算法】 删除特定值

  • 题目:对长度为n的顺序表L,编写一个时间复杂度为O(n),空间复杂度为O(1)的算法,该算法删除顺序表中所有值为x的数据元素

  • 方法1

cpp 复制代码
void del_x_1(SqList &L,ElemType x){
    int k=0,i;
    for(i=0;i<L.length;i++){
        if(L.data[i]!=x){
           L.data[k]=L.data[i];
           k++;
        }
    }
    L.length=k;
}
  • 方法2

cpp 复制代码
void del_x_2(SqList &L,ElemType x){
    int k=0,i=0;
    while(i<L.length){
        if(L.data[i]==x)
            k++;
        else
            L.data[i-k]=L.data[i];//当前元素前移动k个位置
        i++;
    }
    L.length=L.length-k;
}
相关推荐
罗湖老棍子24 分钟前
【例4-6】香甜的黄油(信息学奥赛一本通- P1345)
算法·图论·dijkstra·floyd·最短路算法·bellman ford
不染尘.28 分钟前
进程切换和线程调度
linux·数据结构·windows·缓存
jghhh0140 分钟前
基于C#实现与三菱FX系列PLC串口通信
开发语言·算法·c#·信息与通信
ada7_43 分钟前
LeetCode(python)22.括号生成
开发语言·数据结构·python·算法·leetcode·职场和发展
曹轲恒43 分钟前
JVM之垃圾回收算法(GC)
jvm·算法
YuTaoShao1 小时前
【LeetCode 每日一题】1161. 最大层内元素和——BFS
算法·leetcode·宽度优先
黛色正浓1 小时前
leetCode-热题100-子串合集(JavaScript)
javascript·算法·leetcode
Z1Jxxx1 小时前
字符串翻转
开发语言·c++·算法
闻缺陷则喜何志丹1 小时前
【前缀和 期望】P7875 「SWTR-7」IOI 2077|普及+
c++·算法·前缀和·洛谷·期望
CoovallyAIHub2 小时前
超越Sora的开源思路:如何用预训练组件高效训练你的视频扩散模型?(附训练代码)
深度学习·算法·计算机视觉