# 链表
> 用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的)
访问:O(n)
插入、删除:O(1)
【核心】
- 数据域
- 指针域
## 链表类型
### 单链表
每个节点只包含一个指针域
首元结点、头结点、头指针
- 首元结点是指链表中存储第一个元素的结点
- 头结点是首元结点的前一个结点,其指针域指向首元结点
- 头指针是指向链表中第一个结点的指针
创建链表
- 头插法
- 尾插法
### 循环链表
最后一个结点的指针域指向头结点
记录尾指针
### 双向链表
结点中有两个指针域,一个指向直接后继,一个指向直接前驱