线性表的顺序存储结构

线性表的顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素。(数组)

 

顺序存储结构封装需要三个属性:

— 存储空间的起始位置,数组data,它的存储位置就是线性表存储空间的存储位置。

— 线性表的最大容量:数组的长度MaxSize。

— 线性表的当前长度:length

注意:数组长度与线性表的当前长度需要区分一下:数组的长度是存放线性表的存储空间的总长度,一般初始化后不变。(针对不同的语言可以动态扩容)而线性表的当前长度是线性表中元素的个数,是会变化的。

 

线性表是从1开始的,时间复杂度为O(1)

 

地址计算方法:LOC(ai)=LOC(a1)+(i-1)*c

通常把O(1)的称为随机存储结构

 

插入操作:

— 如果插入位置不合理,抛出异常

— 如果线性表长度大于等于数组长度,则抛出异常或动态增加数组容量;

— 从最后一个元素开始向前遍历到第i个位置,分别将它们都向后移动一个位置;

— 将要插入元素填入位置i处

 

i>L.length+1是因为要符合线性表的顺序存储结构的特性而言的,如果我们插入的地方是大于L。length+1,的比方说我们现在的长度为10,然后你往里面插入一个元素,你插在11可以,但是你插再一个12上面有什么意义呢?线性表按顺序存储的特性都被你毁了。不是吗?所以当i>L.length+1的时候要报错。

是可以等于的。

 

线性表的顺序存储结构,最大的缺点就是插入和删除时需要移动大量元素,这显然就需要好费时间,需要移动大量的元素

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值