顺序表的增删查改复习

1.定义一个动态的结构体,包括维护指针,还有size记录当前数据,capacity记录容量,当当前数据等于capacity时需要用realloc进行扩容

2.首先是对顺序表的初始化

首先动态开辟一块空间用malloc,用一个指针去维护它,并对size和capacity赋初值

3.定义销毁函数:销毁函数就是用free将动态开辟的空间释放,然后将指针赋值成NULL,size和capacity也可以置0

4.增加函数也就是插入函数:

首先判断是否需要扩容,如果size和capacity相等则需要扩容

在任意位置插入一个数其实就是从后往前依次向后移动(包括这个位置),然后给当前位置的复成想要插入的值

最后让size大小整体加加

5.删除函数

首先判断顺序表是否为空表有两个方法,1是用assert断言assert(pc->size>0),也就是只有当size大于零的时候才会进行下一步,否则会在exe程序中报错  2是用一个if语句进行拦截,也就是if(pc->size==0)则直接return,也可以达到目的

接着是进行删除操作,删除操作就是从前向后依次往前移动

最后size减一

6.查到函数:没有啥好说的暴力查找

7.修改函数可以不用单独写,可以先进行查找,然后将找到的下标元素直接修改即可

tips:1.当扩容的时候需要先用一个临时变量接受地址,因为扩容可能是异地扩容,也可能是本地扩容,最后将该地址重新赋值给原来的地址

2.插入的时候需要考虑坐标的合法性,可以用if也可以直接用assert来断言

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值