C语言_顺序表_OJ题

1. 移除元素

思路: 如果只能在原地考虑移除数组的话,其实我们可以想到我们只要做到输出的都是非val值即可。

那么,我们只需要将等于val的值挪到左边,将不等于val的值挪到右边就可以了,再次期间,我们需要使用两个指针控制数组,第一个指针正常便利数组,第二个指针等待第一个指针判断到等于val值进行交换,遍历结束也就区分开了val与非val值。

输出结果:

数组去重

总体思路:遍历数组,两个一前一后指针,如果元素不一样就一起往前面挪动,如果元素一样,就先挪动前指针,直到元素不一样停止下来。后指针先挪动一步(避免覆盖掉当前元素),然后将后指针赋值给前指针。

输出结果:

相关推荐
再睡一夏就好18 小时前
深入解析Linux页表:从虚拟地址到物理内存的映射艺术
linux·运维·服务器·c语言·c++·页表·缺页异常
LinHenrY122719 小时前
初识C语言(编译和链接)
c语言·开发语言·蓝桥杯
l1t19 小时前
利用小米mimo为精确覆盖矩形问题C程序添加打乱函数求出更大的解
c语言·开发语言·javascript·人工智能·算法
松涛和鸣19 小时前
34、 Linux IPC进程间通信:无名管道(Pipe) 和有名管道(FIFO)
linux·服务器·c语言·网络·数据结构·数据库
秦苒&19 小时前
【C语言】详解数据类型和变量(一):数据类型介绍、 signed和unsigned、数据类型的取值范围、变量、强制类型转换
c语言·开发语言·c++·c#
LinHenrY122719 小时前
初识C语言(文件操作)
c语言·windows·microsoft
智者知已应修善业20 小时前
【删除有序数组中的重复项 II之O(N)算法】2024-1-31
c语言·c++·经验分享·笔记·算法
代码游侠20 小时前
应用——管道与文件描述符
linux·服务器·c语言·学习·算法
GoWjw21 小时前
C语言高级特性
c语言·开发语言·算法
不染尘.21 小时前
虚拟网络环境及socket概述
linux·c语言·网络·windows·计算机网络