学习首页/数据结构/单链表交互演示 · JavaScript

代码与动画 SINGLY LINKED LIST

单链表.

节点保存数据和 next 指针,通过链接组织顺序。

查找 O(n)定位后改链接 O(1)演示容量 7

原理与执行逻辑

单链表用 next 连接节点,元素顺序由链接关系决定。查找位置需从头逐个前进,定位后插入和删除通过修改链接完成。

执行步骤

  1. 从头节点沿 next 查找目标位置或值。
  2. 插入时先令新节点指向原后继,再令前驱指向新节点。
  3. 删除时令前驱跳过目标节点,直接指向目标后继。
  4. 头部插入或删除时单独更新头节点。

关键理解

必须先保留原后继,再改写前驱链接,避免丢失后半段链表。定位需要 O(n),定位后的链接修改为 O(1)。

简短示例

12 → 25 → 38 中插入 18:先令 18.next 指向 25,再令 12.next 指向 18,得到 12 → 18 → 25 → 38。

代码与执行动画

STEP 0 / 0
单链表
const head = { value: 12, next: {  value: 25, next: { value: 38, next: { value: 50, next: null } }} };
3 行 · 0 个片段标记
length = 4next → 下一节点
12head25next38next50nextnull
当前数据正在操作已访问 / 命中标记 / 指针
0

当前结构

选择操作,观察对应代码和状态变化。

操作当前结构

下一次操作使用上次完成后的数据。重置结构恢复初始示例。

值和键:1 至 99;位置从 0 开始。

实现说明

单链表的操作规则

插入和删除先定位前驱,再修改 next。头节点操作单独处理;箭头表示 next,末尾指向 null。

对应题目与扩展练习

观察执行过程后,按题目约束调整输入、返回值与实现。链接打开官方题目页面。