当前位置:网站首页>c语言实现动态顺序表的增删查改
c语言实现动态顺序表的增删查改
2022-07-26 22:43:00 【奔跑的y先生】
首先呢,我们要创建一个顺序表

为了以后更好的写,我们可以把这个结构体重定义为SL;
首先要对结构体进行初始化

我们是通过指向结构体指针来找到结构体对应的对象来进行初始化的;
尾插的实现:SLPushBack

当然了,尾插一定要考虑顺序表的容量与所放个数的大小,必要时要进行扩容;
以下便是CheckCapacity函数的实现啦!

扩容呢,先要确定需要让新容量newcapacity的大小,然后再用realloc函数进行扩容;在进行扩容时要进行对ptr是否为空指针的判断;为空则不进行下面的代码;
接下来便是对头删SLPopFront的实现啦~

1:首先删除必须有数据才删,要对pc->size进行判断;
2: 其中它所指数据的最后一个位置便是pc-size-1,就是指他所的数据-1就是最后一个位置;
3:SL顺序表的删除一般拿采用覆盖的方法;
4:头删因为没有进行扩容,所以要考虑数组越界的情况,应避免使用未创造内存;
以下便是SLPushFront头插的实现代码~

1:检查容量,及其指针pc;
2:确定end的初始位置;pc->size-1;
以下便是尾插与尾删的实现啦~


1:尾删SLPopBack直接进行对存放个数减一,因为访问不到所放数据也可认定为删除;
2:指针的断言;
3:插入要进行容量的检查;
以下是给个位置的删除SLErase与插入SLInsert'代码;


1:插入时要注意顺序表插入的位置;
2:插入一般已经考虑了内存问题,一般不用考虑数组越界问题;
3:要找准end,begin指针变量的临界点;
4:插入与删除某个位置的数据一般通过查找通过返回的地址来传;
顺序表的暴力查找及其删除;

以下便是各类函数的定义啦~

1:在定义函数名的时候应该通俗易懂;
这便是从c语言实现顺序表的增删查改啦!
边栏推荐
- 玩客云搭配zerotier保姆级教学,保证学废
- 腾讯云MLVB技术如何在移动直播服务中突出重围之基础概念
- IDEA导入外部项目时pom文件的依赖无效问题解决
- Li Hongyi machine learning (2017 Edition)_ P21: convolutional neural network CNN
- Applet live broadcast, online live broadcast, live broadcast reward: Tencent cloud mobile live broadcast component mlvb multi scene live broadcast expansion
- SQL关系代数——除法
- Jenkins--基础--5.1--系统配置--插件管理
- 7. F1方程式冠军
- Come on: encourage college graduates to return home to start businesses and employment, and help rural revitalization
- 堆排序相关知识总结
猜你喜欢

RS485信号的测量

被围绕的区域

李宏毅机器学习(2017版)_P5:误差

Li Hongyi machine learning (2017 Edition)_ P6-8: gradient descent

What are the necessary functions of short video app development?

Understanding of Flink checkpoint source code

解决Pytorch中Cuda无法GPU加速问题

深度学习报告(3)

When a transaction encounters a distributed lock

腾讯云直播插件MLVB如何借助这些优势成为主播直播推拉流的神助攻?
随机推荐
New experience of mlvb cloud live broadcast: millisecond low latency live broadcast solution (with live broadcast performance comparison)
Basic syntax of Verilog
07 - setup and attack of log server
Jenkins--基础--03--安装后设置向导
Flink1.11 write MySQL test cases in jdcb mode
How can Tencent cloud live plug-in mlvb make use of these advantages to become the divine assistant of anchor Live Streaming?
ks 怎么抓salt值?api,did?
05 - attack and defense of phishing websites
进入2022年,移动互联网的小程序和短视频直播赛道还有机会吗?
Compile Darknet under vscode2015 to generate darknet Ext error msb3721: XXX has exited with a return code of 1.
Understanding of Flink interval join source code
The dependency of POM file is invalid when idea imports external projects. Solution
大四老学长的自我批评记录
Jenkins--基础--04--安装中文插件
小程序直播、连线直播、直播打赏:腾讯云移动直播组件MLVB多场景直播拓展
4. 欧洲冠军联赛
深度学习报告(3)
Spark ---- shuffle and partition of RDD
李宏毅机器学习(2021版)_P5-6:小梯度处理
ADB shell screen capture command