# 链表是什么
- 多个元素组成的列表
- 元素存储不连续,用 next 指针连在一起
# 链表 VS 数组
- 数组:增删非首尾元素时往往需要移动元素。
- 链表:增删非首尾元素,不需要移动元素,只需要更改 next 的指向即可。
# 链表的基本使用
JavaScript 中可以用 Object 模拟链表
const a = {val : 'a'}
const b = {val : 'b'}
const c = {val : 'c'}
a.next = b
b.next = c
// 遍历链表
let p = a
while(p) {
console.log(p.val)
p = p.next
}
// 插入,插入到 b 和 c 之间
const e = {val: 'e'}
b.next = e
e.next = c
// 删除 重新改变链表指向 这里删除了 e
b.next = c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22