【数据结构--顺序表】移除元素

这篇具有很好参考价值的文章主要介绍了【数据结构--顺序表】移除元素。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目描述:

【数据结构--顺序表】移除元素,数据结构,算法,c++

【数据结构--顺序表】移除元素,数据结构,算法,c++

代码实现:

1、指针实现

int removeElement(int* nums, int numsSize, int val) {
    int* dst = nums, * src = nums;
    int n1 = 0,n2=0;
    while (n1+n2 < numsSize)
    {
        if (*src != val)
        {
            *dst = *src;
            dst++;
            src++;
            n1++;//表示src走的步数
        }
        else
        {
            src++;
            n2++;//表示src走的步数,也是需要移除(==val)的元素个数
        }
    }
    return numsSize - n2;
}

2、数组下标访问实现 文章来源地址https://www.toymoban.com/news/detail-733381.html

int removeElement(int* nums, int numsSize, int val) {
    int dst = 0, src = 0;
    int n = 0;
    while (src < numsSize)
    {
        if (nums[src] != val)
        {
            nums[dst] = nums[src];
            dst++;
            src++;
        }
        else
        {
            src++;
            n++;
        }
    }
    return numsSize - n;
}

到了这里,关于【数据结构--顺序表】移除元素的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【数据结构】移除链表元素-图文解析(单链表OJ题)

    【数据结构】移除链表元素-图文解析(单链表OJ题)

    LeetCode链接:203. 移除链表元素 - 力扣(LeetCode) 本文导航 💭做题思路 🎨画图更好理解: ✍️代码实现 🗂️分情况讨论: ❄️极端情况: 遍历链表,找到值为 val 的节点删除 这里需要两个指针  cur 用来遍历链表  prev 指向 cur 的前一个位置,方便删除一个节点后,链接前

    2024年02月14日
    浏览(15)
  • 【C++】【数据结构】循环队列的基本操作(初始化、入队、出队、取队头元素、遍历输出队列、求队列长度)顺序队列的算法实现【附全代码】

    【C++】【数据结构】循环队列的基本操作(初始化、入队、出队、取队头元素、遍历输出队列、求队列长度)顺序队列的算法实现【附全代码】

    使用c++完成数据结构循环队列的基本操作,包括(初始化、入队、出队、取队头元素、遍历输出队列、求队列长度等),可直接编译运行。 队列 又称为 “先进先出” (FIFO)线性表。限定插入操作只能在队尾进行,而删除操作只能在队首进行。 循环队列 ——采用 顺序存储结构

    2023年04月16日
    浏览(15)
  • 【数据结构】静态分配的顺序表插入元素

    分析一下当前算法的时间复杂度,注意:顺序表的元素移动,是从最后一个元素依次移动的 1、新元素插入到表尾,i=n+1,就不用移动元素,不移动就不要走for循环,for循环0次,时间复杂度为O(1) 2、新元素插入到表头,i=1,就要移动所有元素,有n个元素移动n个,for循环n次,

    2024年02月07日
    浏览(10)
  • 数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)

    数据结构:图文详解顺序表的各种操作(新增元素,查找元素,删除元素,给指定位置元素赋值)

      目录 一.顺序表的概念 二.顺序表的实现 新增元素 默认尾部新增 指定位置添加元素 查找元素 查找是否存在 查找元素对应的位置 查找指定位置对应的元素 删除元素 获取顺序表长度 清空顺序表 在线性数据结构中,我们一般分为俩类:顺序表和链表         顺序表是一

    2024年02月05日
    浏览(9)
  • 数据结构——顺序表——数组元素和与数字和的绝对差

    数据结构——顺序表——数组元素和与数字和的绝对差

    经验:要得到一个数的个位和十位,可以通过先模十取余,再除于十

    2024年04月12日
    浏览(7)
  • 【数据结构】顺序栈的基本操作:出栈、入栈、取栈顶元素、输出所有栈中元素、括号匹配题目

    【数据结构】顺序栈的基本操作:出栈、入栈、取栈顶元素、输出所有栈中元素、括号匹配题目

    栈是限定仅在表位进行插入或删除操作的线性表。栈的表尾称为栈顶,表头称为栈底。不含元素的栈称为空栈。 左图为栈的示意图,右图为用铁路调度表示栈。 如下是入栈至栈满再进行出栈的过程示意图。值得注意的是,栈满后,top指针指向的不是顶端元素,而是顶端的下

    2024年02月07日
    浏览(17)
  • 【数据结构】数组的顺序存储(1、2、3、n维数组的元素地址计算)|保姆级详解+图解

    【数据结构】数组的顺序存储(1、2、3、n维数组的元素地址计算)|保姆级详解+图解

    作者: 努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:算法、数据结构、Java等相关知识。 博主主页: @是瑶瑶子啦 所属专栏: 【数据结构】:该专栏专注于数据结构知识,持续更新,每一篇内容优质,浅显易懂,不失深度! 近期目标: 写好专栏

    2024年02月07日
    浏览(9)
  • 数据结构与算法——顺序表(顺序存储结构)及初始化详解

    数据结构与算法——顺序表(顺序存储结构)及初始化详解

    顺序表 ,全名 顺序存储结构 ,是线性表的一种。通过《什么是线性表》一节的学习我们知道,线性表用于存储逻辑关系为“一对一”的数据,顺序表自然也不例外。 不仅如此,顺序表对数据的物理存储结构也有要求。 顺序表存储数据时,会提前申请一整块足够大小的物理

    2024年02月16日
    浏览(12)
  • 数据结构与算法—顺序表

    数据结构与算法—顺序表

    目录 一、线性表 二、顺序表概念  三、实现顺序表 1、声明结构体 2、初始化 3、打印数据  4、销毁  5、尾插头插 尾插 判断是否扩容   头插 6、尾删头删 尾删 头删 7、 指定位置插入元素 8、 删除指定位置元素 9、 查找指定元素位置 10、修改指定位置元素 完整版附上: S

    2024年02月08日
    浏览(9)
  • 数据结构:两个顺序表合并算法

            将a,b两个有序顺序表进行合并,放在c顺序表当中,并且要保证顺序表c仍然有序。         因为a,b两个顺序表是有序的,所有可以从前往后一起查找a,b当中最小的一个数值,放入到c中。         如果遍历到最后,a遍历完了,b没有遍历完,就把b剩下的放入

    2024年02月08日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包