美文网首页
javascript 实现单链表

javascript 实现单链表

作者: 小茶叶叶 | 来源:发表于2019-07-11 20:51 被阅读0次

链表是什么?
链表(Linked-List)是由一组不必相连的节点,按照一定的顺序链接在一起的抽象数据模型

增删查操作,相对于数组来说,速度快很多

有单链表,双链表,循环链表三种

下面,就来实现一个单链表

[ head | next ] --> [ data1 | next ] --> [ data2 | next ] --> null

先定义节点属性

function Node(val) {
    this.val = val;
    this.next = null;
}
function Lnode() {
    this.head = new Node(null)
    this.find = find
    this.insert = insert
    this.remove = remove
    this.findPrev = findPrev
    this.display = display
}

查找一个节点

function find(val) {
    const current = this.head
    while (current.val !== val) {
        current = current.next
    }
    return current
}

插入一个节点

function insert(newEle, val) {
    const newNode = new Node(newEle)
    const currNode = this.find(val)
    newNode.next = currNode.next
    currNode.next = newNode
}

删除一个节点

function remove(val) {
    const currNode = this.find(val)
    const prevNode = this.findPrev(val)
    if (prevNode.next !== null) {
        prevNode.next = prevNode.next.next
        current.next = null
    }
}

查找前一个节点

function findPrev(val) { // 一个链表里面有相同的元素,这个方法找到的永远是第一个这个元素的前一个节点
    const currNode = this.head

    while (headNode.next !== null && currNode.next.val !== val) {
        headNode = headNode.next
    }
    return headNode
}

展示该链表上所有节点

function display() {
    const headNode = this.head
    while (headNode.next !== null) {
        console.log(headNode.val)
        headNode = headNode.next
    }
}

相关文章

  • javascript 实现单链表

    链表是什么?链表(Linked-List)是由一组不必相连的节点,按照一定的顺序链接在一起的抽象数据模型 增删查操...

  • 线性表之单链表实现

    线性表之单链表实现 实现单链表的初始化、插入、删除等基本运算 实现单链表的输入、输出运算 实现单链表的逆置、归并、...

  • 25_静态单链表的实现

    关键词: 单链表的一个缺点、静态单链表设计思路、静态单链表的继承层次结构、静态单链表的实现思路、静态单链表的实现 ...

  • 链表基本操作

    1、删除单链表节点 2、插入单链表结点 单链表具体实现

  • 单链表 & 双链表& 单向循环链表的实现

    单链表 具体实现: 双链表 代码实现: 单向循环链表的实现 代码实现:

  • 链表

    单链表 C实现 Java实现 双链表 C实现 Java实现

  • leetcode 单链表的各种算法

    1 递归实现:合并两个有序的单链表 2 递归实现:单链表逆序存入vector 3 循环实现:快慢指针找到单链表中间...

  • 用JavaScript实现双向链表

    用JavaScript实现双向链表 前言 JavaScript本身是没有指针的,所以要实现链表的话没有现成的数据结...

  • 链表常用操作的代码实现

    以单链表为例,假设单链表的节点结构为 则单链表的实现如下

  • 顺序表与单链表

    接口 顺序表(线性表)实现方式 单链表的节点 单链表的实现

网友评论

      本文标题:javascript 实现单链表

      本文链接:https://www.haomeiwen.com/subject/cedjkctx.html