例2.6 设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为0(n)空间复杂度为0(1)。

1.题目

例2.6 设计一个高效的算法,从顺序表L中删除所有值为x的元素,要求时间复杂度为0(n)空间复杂度为0(1)。

2.算法思想

3.代码

void DeleteX(SeqList LA, SeqList *LC, int x) {
    int i = 0, j = 0;
    while (i <= LA.last){
        if (LA.element[i] == x) i++;
        else {LC->element[j] = LA.element[i]; i++; j++;}
    }
//  注意最后一次j多加了一次
    LC->last = j - 1;
}
posted @   DawnTraveler  阅读(209)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示