# 简介

# 链表是什么

  • 多个元素组成的列表

  • 元素的存储不连续,用next指针连在一起

# 数组VS链表

  • 数组:增删非首尾元素时往往需要移动元素

  • 链表:增删非首尾元素,不需要移动元素,只需要更改next的指向即可

# JS中的链表

  • JavaScript 中没有链表

  • 可以用Object模拟链表

# Coding Part

const a = { val: 'a' };
const b = { val: 'b' };
const c = { val: 'c' };
const d = { val: 'd' };
a.next = b;
b.next = c;
c.next = d;

// 遍历链表
let p = a;
while (p) {
    console.log(p.val);
    p = p.next;
}

// 插入
const e = { val: 'e' };
c.next = e;
e.next = d;

// 删除
c.next = d;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22