一、什么是顺序表?
顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。(就是数组,但是要求从头开始连续存储,不能跳跃)
二、基本操作
定义
静态特点:如果满了就不让插入。
缺点:这个很难确定,N 给小了不够用,给大了浪费
因此我们采用动态顺序表,用动态开辟内存的方式,当原来的空间不够用时,释放,开辟更大的空间(扩容),指针指向动态开辟的空间,还需增加一个变量
初始化
开辟空间
头插
记得扩容!!
头删
删除
实现功能
销毁
尾删
SeqListPopBack(&s1);
SeqListPopBack(&s1);
(代表从后往前删了两个数据)
三、总结
顺序表的缺点:
1.空间不够要增容,增容要付出代价,如果原地还能找到空间,原地扩影响小,如果是异地扩,原来的拷贝并释放,新的地方扩容,影响较大。
2.避免频繁扩容,我们满了基本都是扩 2 倍,可能会导致一定的空间浪费。
3.顺序表要求数据从开始位置连续存储,那么我们在头部或者中间位置插入删除数据就需要挪动数据,效率不高
最后,码字不易,如果觉得对你有帮助的话请点个赞吧,关注我,一起学习,一起进步!