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来断言