1.线性表的定义
-
定义
线性表是由n(n>=0)个性质相同的数据元素组成的有限序列,n称为线性表的长度。对于非空线性表,具有唯一 一个“第一个”节点,即头节点,它没有直接前驱,仅有一个直接后继节点;具有唯一 一个“最后一个”节点,即终端节点或尾节点,它没有直接后继,仅有一个直接前驱;其余内部各个节点都有一个直接前驱和一个直接后驱。通俗来说,线性表就是元素之间的逻辑关系是线性的。举个不恰当的例子,线性表中的元素,就像是潜伏的特务,每个元素只有下级的联系方式,而自己的联系方式只有上级才有,所有它只能与下级联系与被上级联系,而不能与其他的元素联系,而头节点就是特务的最大头目,只有下级没有上级,而尾节点就是特务中最小的小喽啰,只有上级,没有下级。 -
特点
同一线性表中元素类型相同,而且是长度有限的。最为重要的是元素直接的逻辑关系是线性的。
2.顺序表和链表
- 定义
顺序表和链表都是线性表,但根据线性表在内存中的储存形式,将其分为了顺序表和链表。
(1)顺序表:顺序表是用一组地址连续的存储单元依次存储线性表中的各元素,通过位置来表示数据元素之间的线性逻辑关系。也就是说,在顺序表中逻辑上相邻的元素在物理位置上也是相邻的。另外,如果确定了每个元素所占的存储单元和第一个元素的存储位置,那么就可以计算出任意元素所在的位置。
(2