JS 实现链表

Node 为创建节点的构造函数;LinkedList 为链表操作函数的构造函数。
对链表的操作包括:插入节点、移除节点、修改节点值。
插入节点 -> 找到当前节点
移除节点 -> 找到前驱节点
修改节点值 -> 找到当前节点

function Node(element) {
    this.element = element
    this.next = null
}

function LinkedList() {
    this.head = new Node('head') //创建头结点
}

LinkedList.prototype = {
    find: function(item) { //找到当前节点
        let currNode = this.head
        if(currNode.element !== item) {
            currNode = currNode.next
        }
    },
    findPrevious: function(item) { //找到前驱节点
       let currNode = this.head
       if(currNode.next.element !== item) {
            currNode = currNode.next
       }
     },
    insert: function(item, newItem) { //创建节点
        let newNode = new Node(newItem)
        let currNode = this.find(item)
        newNode.next = currNode.next
        currNode.next = newNode
    },
    remove: function(item) { //移除节点
        let preNode = this.findPrevious(item)
        preNode.next = preNode.next.next
    },
    edit: function(item, newItem) { //修改节点的值
        let currNode = this.find(item)
        currNode.element = newItem
    }
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容