顺序表

顺序表的结构与实现

8容量
4元素个数
1328数据区
693数据区
2529数据区
154数据区

一个顺序表包含表头信息和数据区。
在构造顺序表的时候一开始要告诉操作系统你要多大的存储空间,即数据规模多大。就像这个表格,一开始向内存申请了8个数的存储空间,存了4个数,容量表示这个顺序表能存多少,元素个数表示当前存了多少。

顺序表的结构

在这里插入图片描述
一体式结构:存储表信息的单元和元素存储区以连续的方式安排在一块存储区里作为一个连续的存储空间,表的起始信息要跳过表头。
一体式结构整体性强,易于管理。但如果要增加数据,原来数据区不够存储的话,就必须要重新申请一个新的足够的存储区。再把原先的存储空间释放掉。替换的时候表头部分也要一起替换。表头的起始地址也发生变化。
分离式结构:表头信息用单独的存储单元存储起来,除了存容量和元素个数之外,还有真实的元素存储区的地址信息。数据替换的时候存储区的数据部分申请一个新的存储空间并将数据重新存放,释放掉原来的数据存储空间,表头部分不用替换,只需要将指向地址替换为新的存储区的地址。表头的起始地址不变。
通常都使用分离式。

元素存储区的扩充
  • 每次扩充增加固定数目的存储位置,如每次扩充增加10个元素位置,这种成为线性增长。
    特点:节省空间,扩充次数频繁。
  • 每次扩充容量加倍。如第一次申请4个,第二次申请8个,第三次申请16个。。。
    减少了扩充次数,但可能会浪费空间资源。
    用空间换时间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值