一、链表是什么
链表是一种通过指针串联在一起的线性结构,在内存中是分散存储的(数组在内存中连续分布),链表由一系列节点组成,每个节点都由数据域和指针域组成。主要有三种类型的链表:
1、单链表(本章介绍内容)
2、双链表
3、循环链表
链表与数组对比:
插入/删除 时间复杂度 | 查询 时间复杂度 | 适用场景 | |
---|---|---|---|
数组 | O(n) | O(1) | 内容固定,查询较为频繁 |
链表 | O(1) | O(n) | 内容不固定,较少查询 |
二、单链表定义
1、一个单链表的节点:
- 数据域data:存放数据的地方
- 指针域*next:指向下一个节点的地址
2、将节点链接起来,每个节点的*next指针指向下一节点,最后一个节点的指针指向NULL,就形成了单链表。
3、头指针的作用
设置一个头指针指向整条链表的首节点,这样对