c语言实现动态顺序表的增删查改

首先呢,我们要创建一个顺序表

 

 为了以后更好的写,我们可以把这个结构体重定义为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语言实现顺序表的增删查改啦!

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暂停更新

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值