1.链表的定义
![在这里插入图片描述](https://img-blog.csdnimg.cn/0a9ed23e566449a190d63c4761bc72af.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_70)
struct ListNode {
int val;
ListNode *next;
ListNode() : val(0), next(nullptr) {}
ListNode(int x) : val(x), next(nullptr) {}
ListNode(int x, ListNode *next) : val(x), next(next) {}
};
2.链表的类型
a.单链表
![在这里插入图片描述](https://img-blog.csdnimg.cn/5769bf983c01467ca8eca171ab43fe4c.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)
b.双链表
![在这里插入图片描述](https://img-blog.csdnimg.cn/51aa29bd55264c1295fd69df8c95786d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)
c.循环链表
![在这里插入图片描述](https://img-blog.csdnimg.cn/5c38496a79af43a1a0ef91b39426418d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)
3.链表的存储方式
![在这里插入图片描述](https://img-blog.csdnimg.cn/73d2382b5bf848d7973d8f9f9dad2974.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)
4.链表的操作
a.删除节点
![在这里插入图片描述](https://img-blog.csdnimg.cn/e71df8684d954dd4a9de1ae3f03686d9.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)
b.增加节点
![在这里插入图片描述](https://img-blog.csdnimg.cn/bd3dd4f7a7904fb98c54081945350023.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)
5.链表性能分析
![在这里插入图片描述](https://img-blog.csdnimg.cn/099940f4008845ee97e5b6dbb907251d.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYWxvbmVfeXVl,size_20,color_FFFFFF,t_70,g_se,x_16/resize,p_75)