代码与动画 SINGLY LINKED LIST
单链表.
节点保存数据和 next 指针,通过链接组织顺序。
查找 O(n)定位后改链接 O(1)演示容量 7
原理与执行逻辑
单链表用 next 连接节点,元素顺序由链接关系决定。查找位置需从头逐个前进,定位后插入和删除通过修改链接完成。
执行步骤
- 从头节点沿 next 查找目标位置或值。
- 插入时先令新节点指向原后继,再令前驱指向新节点。
- 删除时令前驱跳过目标节点,直接指向目标后继。
- 头部插入或删除时单独更新头节点。
关键理解
必须先保留原后继,再改写前驱链接,避免丢失后半段链表。定位需要 O(n),定位后的链接修改为 O(1)。
简短示例
12 → 25 → 38 中插入 18:先令 18.next 指向 25,再令 12.next 指向 18,得到 12 → 18 → 25 → 38。
代码与执行动画
STEP 0 / 0const head = { value: 12, next: { value: 25, next: { value: 38, next: { value: 50, next: null } }} };length = 4next → 下一节点
当前数据正在操作已访问 / 命中标记 / 指针
0
当前结构
选择操作,观察对应代码和状态变化。
操作当前结构
下一次操作使用上次完成后的数据。重置结构恢复初始示例。
单链表的操作规则
插入和删除先定位前驱,再修改 next。头节点操作单独处理;箭头表示 next,末尾指向 null。
对应题目与扩展练习
观察执行过程后,按题目约束调整输入、返回值与实现。链接打开官方题目页面。
- 对应题目707. 设计链表打开题目
实现按下标访问、头尾插入与删除。