链表的插入和删除操作详解
1. 链表的基本概念复习
链表是一种常用的数据结构,它由一系列节点组成,每个节点包含两部分:数据域和指针域。数据域用于存储数据,指针域用于指向下一个节点。链表的特点在于其灵活性,相比于数组和向量,链表在插入和删除操作上有明显的优势,因为不需要移动大量元素来维持连续的内存布局。
链表可以分为单向链表、双向链表和循环链表。单向链表是最简单的形式,每个节点只有一个指向前一个或后一个节点的指针;双向链表则在每个节点中增加了一个指向相反方向的指针;循环链表的最后一个节点指针指向链表的头部,形成了一个环。
单向链表结构示意
graph TB
A[Node 1] --> B[Node 2]
B --> C[Node 3]
C --> D[Node 4]
2. 插入操作
2.1 插入节点的几种常见场景
在链表中插入节点时,通常有以下几种常见场景:
- 头部插入 :在链表的最前端插入新节点。
- 尾部插入 :在链表的最后端插入新节点。
- 指定位置插入 :在链表的任意位置插入新节点。
2.1.1 头部插入
头部插入是将新节点插入到链表的最前端。具体步骤如下:
- 创建一个新的节点。