【C语言数据结构4】-- 链表的实现

链表

一、什么是链表

链表是线性表的一种,同顺序表一样,都是最基础的线性表。与顺序表的区别在于使用了不同存储结构实现,顺序表使用顺序存储结构,而链表使用链式存储结构。

链表的实现是通过节点,通常节点包含两个区域,数据域和指针域。数据域用来存储我们的数据,而指针域用来存储下一个节点的指针,而节点之间的联系也是通过指针域来建立的。假如我们用链表存储下列有序数据:a1,a2,a3,…an。我们已知a1的地址,我们可以通过a1的地址获取a1,然后获取a1中的指针域,从而获取a2的数据,依次类推,遍历整个链表。

【C语言数据结构4】-- 链表的实现_第1张图片

上图为链表的结构体,一整个方块就是一个节点,一个节点包含数据域(蓝色方块)和指针域(橙色方块),方块外的数字表示该节点所在的地址。我们可以看到相邻节点之间的地址并非连续的,节点与节点之间通过指针域建立连接。

二、链表的表示

我们可以构建一个节点的结构体:

typedef int ElemType;

你可能感兴趣的:(C语言数据结构与算法)