链表的定义
链表是一种常见的数据结构,用于线性方式存储数据。链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
链表是一种动态数据结构,由一系列节点组成,每个节点包含两部分:
- 数据域:存储实际数据
- 指针域:存储指向下一个节点的地址
对比数组来说,链表具有动态大小的特性:
- 链表的大小可以在运行时动态变化,不需要在创建时指定固定的大小
- 元素连接:每个元素(通常称为节点)存储数据,并包含一个或多个指针指向列表中的其他节点
- 无需连续内存:数组在内存上每个元素是连续的,因此数组访问可以用下标快速访问,但是链表的内存每一个节点并不连续,因此不能直接访问
- 删除效率:数组删除中间的某一个元素时,需要把后面的填到前面的位置,链表删除元素时并不需要把后面的提前,让前一个指针指向它即可
结构体示例
struct Student {
int id;
struct Student* next;
};


