数据结构----顺序表

一、什么是顺序表?

顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。(就是数组,但是要求从头开始连续存储,不能跳跃

二、基本操作

定义

在这里插入图片描述

静态特点:如果满了就不让插入。
缺点:这个很难确定,N 给小了不够用,给大了浪费

因此我们采用动态顺序表,用动态开辟内存的方式,当原来的空间不够用时,释放,开辟更大的空间(扩容),指针指向动态开辟的空间,还需增加一个变量

在这里插入图片描述

初始化

在这里插入图片描述

开辟空间

在这里插入图片描述

头插

在这里插入图片描述

记得扩容!!

头删

在这里插入图片描述

删除

在这里插入图片描述

实现功能

在这里插入图片描述

销毁

在这里插入图片描述

尾删

在这里插入图片描述

SeqListPopBack(&s1);
SeqListPopBack(&s1);
(代表从后往前删了两个数据)

三、总结

顺序表的缺点:
1.空间不够要增容,增容要付出代价,如果原地还能找到空间,原地扩影响小,如果是异地扩,原来的拷贝并释放,新的地方扩容,影响较大。
2.避免频繁扩容,我们满了基本都是扩 2 倍,可能会导致一定的空间浪费。
3.顺序表要求数据从开始位置连续存储,那么我们在头部或者中间位置插入删除数据就需要挪动数据,效率不高

在这里插入图片描述

最后,码字不易,如果觉得对你有帮助的话请点个赞吧,关注我,一起学习,一起进步!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值