数据结构篇之线性表——数组

1、线性表的类型定义

①线性结构特点

在数据元素的非空有限集合中:
(1)存在唯一的一个被称做“第一个”的数据元素;
(2)存在唯一的一个被称做“最后一个”的数据元素;
(3)除第一个之外,集合中的每个数据集元素均只有一个前驱;
(4)除最后一个之外,集合中每个数据元素君之忧一个后继。

②线性表的概念

一个线性表是n个数据元素的有限序列,数据元素可以是单个字母字符,如:	

(A,B,C,…,Z)

是一个线性表,数据元素也可以由若干个数据项组成,但同一线性表中的元素必定具有相同的特性,即属同一数据对象,相邻的数据元素之间存在着序偶关系,若将线性表标记为

(a1,…,ai-1,ai,ai+1,…,an

ai是表中第i个元素,称i为数据元素ai在数据线中的位序。

2、线性表的顺序表示

线性表的顺序表示指的是用一组 地址连续的存储单元一次存储线性表的数据元素
假设线性表的每个元素需占l个存储单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储位置LOC(ai+1)和第i个数据元素的存储位置LOC(ai)之间满足下列关系:

LOC(ai+1) = LOC(ai) + l

一般来说,线性表的第i个数据元素存储位置为:

LOC(ai) = LOC(a1) + (i - 1) * l

这种存储结构的线性表为顺序表,它的特点是,以数据元素在计算机内 “物理位置相邻”来表示顺序表中数据元素之间的逻辑关系,每个数据元素的存储位置都和线性表的起始位置相差一个和数据元素在线性表中的位序成正比的常数,由此,只要确定了存储线性表的起始位置,线性表中的任一数据元素都可随机存取,所以线性表的顺序结构是一种随机存取的存储结构。

由于高级程序设计语言中的数组类型也有随机存取的特性,因此通常都用数组来描述数据结构中的顺序存储结构。

3、结构示意图

在这里插入图片描述

4、数组的增删

①新增元素

由于逻辑上相邻的元素在物理位置上也是相邻的,所以要想在元素3之后插入元素5的话,需要将之后的所有元素均后移,示意图如下:
在这里插入图片描述

②删除元素

同理,删除元素5以后,需要将元素5之后的所有元素往前移,示意图如下:
在这里插入图片描述

5、总结

(1)数组支持随机访问,所以数组查询元素速度很快;
(2)数组的增删需要移动大量数据元素(大部分情况下),所以数组增删元素很慢。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值