链表的概念
首先我们需要知道链表的概念:
多个元素
组成的列表
- 元素存储
不连续
, 用next 指针
连在一起
那我们数组和链表的区别
是什么呢?
3. 数组在增加或者删除非首尾元素时往往需要移动元素
4. 链表在增删非首尾元素时不需要移动元素
,只需要更改next 指针
即可
JS 中的链表
- js 中没有链表这个数据结构
- 我们可以使用
object 对象来模拟链表
模拟链表
我们使用 object 中定义 val 值与添加next 属性得到如下一个链表
遍历链表
let p = a // 声明一个指针,指向链表的头部 a
while(p) {
console.log(p.val)
p = p.next // 依次指向下一个链表元素
}
插入
改变指针即可
const e = { val: 'e' }
d.next = e
e.next = d
删除
c.next = d