Javascript之“链表“

简介: Javascript之“链表“

链表是多个元素组成的列表,元素储存不连续,可以通过next指针连在一起

不过对于我们Javascript语言来说没有链表,不过我们可以通过obj.next方式实现


1. 实现链表


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)
  p = p.next
}
// 插入元素
const e = { value: 'e' }
c.next = e
e.next = d
// 删除元素
c.next = d


2. 练习


删除链表中的节点


反转链表


两数相加


删除排序链表中的重复元素


环形链表



3. 应用

  • JS原型链


  • 如果A沿着原型链能找到B.prototype,那么A instanceof B为true


  • 如果A对象上能找到x属性,那么沿着原型链找x属性


// 实现instanceof
const instanceof = (A, B) => {
  let p = A
  while(p) {
    if(p === B.prototype) {
      return true
    }
    p = p.__proto__
  }
  return false
}
相关文章
|
4月前
|
存储 JavaScript 前端开发
JavaScript实现单向链表
JavaScript实现单向链表
25 0
|
存储 算法 JavaScript
JavaScript 中的数据结构与算法:数组、链表、栈、队列等
在JavaScript中,数据结构和算法是非常重要的主题,它们用于有效地组织和处理数据。下面介绍几种常见的数据结构和算法:
|
7月前
|
算法 JavaScript
|
7月前
|
算法 JavaScript
JS算法-链表插入排序
JS算法-链表插入排序
|
7月前
|
算法 JavaScript
|
7月前
|
算法 JavaScript
|
7月前
|
存储 算法 JavaScript
|
7月前
|
算法 JavaScript
JS算法-二叉树展开转为链表
JS算法-二叉树展开转为链表
|
存储 算法 JavaScript
数据结构与算法之链表-javascript实现
数据结构与算法之链表-javascript实现
66 0
|
存储 前端开发 JavaScript
【数据结构与算法】--JavaScript 链表(二)
【数据结构与算法】--JavaScript 链表(二)
72 0