线性表

Catalogue   

定义

线性表(Linear List)是具有相同特性的数据元素的一个有限序列。该序列中所含元素的个数叫做线性表的长度,用n表示,n>=0。当n=0时,表示线性表是一个
空表。设序列中第i个元素为a1(1 ≤ i ≤ n),则线性表的一般表示为:

(a1,a2,a3,…,ai,…,an)

特性

  • 元素在位置上是有序的
  • 长度是可变的

线性存储

将数据依次存储在连续的整块物理空间中。顺序表存储数据时,会提前申请一整块足够大小的物理空间,然后将数据依次存储起来,存储时做到数据元素之间不留一丝缝隙。

链式存储

数据分散的存储在物理空间中,通过一根线保存着它们之间的逻辑关系。

在线性表的链接存储中,存储的第一个元素的结点称为表头结点,存储最后一个元素的结点称为表尾结点,其余为中间结点。每个链接表都需要设置
一个指针指向表头结点,称为表头指针。从表头指针出发,沿着结点的链可以访问到每一个结点。

链接表由于每个结点带有指针域,因而在存储空间上比线性存储要付出较大代价。由于每个结点的存储位置可以任意安排,因此插入、删除操作方便又省时。

单链表

双链表

循环双链表

尾结点的下一个结点是头结点。


代码实现