链表
离散存储–链表
定义:
- n 个结点离散分配
- 彼此通过指针相连
- 每个结点只有一个前驱结点,每个结点只有一个后继结点。
- 首结点没有前驱结点,尾结点没有后继结点
专业术语:
- 首结点
第一个有效结点
- 尾结点
最后一个有效结点
- 头结点
第一个有效结点前的那个结点头结点不存放有效数据
加头结点的目的主要是为了方便对链表的操作 - 头指针
指向头结点的指针变量
- 尾指针
指向尾结点的指针变量
如果希望通过一个函数来对链表进行处理,我们至少需要接收链表的哪些参数:
只需要一个参数:头指针
因为我们通过头指针可以推算出链表的其他所有信息。
构建一个结点:
1 | typedef struct Node |