首页 >> 知识 >> C语言实现链表(链式存储结构)

C语言实现链表(链式存储结构)

链表(链式存储结构)及创建

链表,别名链式存储结构或单链表,用于存储逻辑关系为 “一对一” 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。

例如,使用链表存储 {1,2,3},数据的物理存储状态如下图所示: 草莓视频在线观看APP看到,上图 根本无法体现出各数据之间的逻辑关系。对此,链表的解决方案是,每个数据元素在存储时都配备一个指针,用于指向自己的直接后继元素。如下图所示: 像上图这样,数据元素随机存储,并通过指针表示数据之间逻辑关系的存储结构就是链式存储结构。

链表的节点

从图 2 可以看到,链表中每个数据的存储都由以下两部分组成:

数据元素本身,其所在的区域称为数据域;指向直接后继元素的指针,所在的区域称为指针域;

即链表中存储各数据元素的结构如下图 所示: 上图 所示的结构在链表中称为节点。也就是说,链表实际存储的是一个一个的节点,真正的数据元素包含在这些节点中,如下图 所示: 因此,链表中每个节点的具体实现,需要使用 C 语言中的结构体,具体实现代码为:

typedef struct Linklist{int elem;//代表数据域struct Linklist *next;//代表指针域,指向直接后继元素}Linklist; //link为节点名,每个节点都是一个 link 结构体

提示:由于指针域中的指针要指向的也是一个节点,因此要

网站地图