使用JavaScript实现链表的数据结构的代码

前端之家收集整理的这篇文章主要介绍了使用JavaScript实现链表的数据结构的代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer) — 维基百科

上面是维基百科对 链表 的解读。下面我们用 JavaScript 代码对链表的数据结构进行实现

实现Node类表示节点

链接 */ function Node(element) { this.element = element; this.next = null; } LList类提供对链表操作的方法 /** * LList 类提供了对链表进行操作的方法 * 链表只有一个属性, * 使用一个 Node 对象来保存该链表的头节点。 */ class LList { constructor() { this.head = new Node('head'); } // 查找节点 find(item) { let currNode = this.head; while(currNode.element !== item) { currNode = currNode.next; } return currNode; } // 查找前一个节点 findPre(item) { if(item === 'head') throw new Error('now is head!'); let currNode = this.head; while (currNode.next && currNode.next.element !== item) { currNode = currNode.next; } return currNode; } // 插入新节点 insert(newElement,item) { let newNode = new Node(newElement); let currNode = this.find(item); newNode.next = currNode.next; currNode.next = newNode; } // 删除一个节点 remove(item) { let preNode = this.findPre(item); if(preNode.next !== null) { preNode.next = preNode.next.next; } } // 显示链表中的元素 display() { let currNode = this.head; while(currNode.next !== null) { console.log(currNode.next.element); currNode = currNode.next; } } }

测试代码

上面就是用JavaScript对简单链表的数据结构的简单实现:smile:

总结

以上所述是小编给大家介绍的使用JavaScript实现链表的数据结构的代码。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

猜你在找的JavaScript相关文章