js数据结构之链表(单链表、双向链表、循环链表)

首先,链表有以下特点:

1. 存储空间不固定,可灵活扩充

2.方便多次的插入和删除,效率较高

链表

单链表是最常用的链表,其对数据的操作均为单项的,向后查找的。

/* 链表(基于对象) 此处为单链表 */ function Node (ele) { this.element = ele; this.next = null; } function LinkedList () { this.head = new Node("head"); // 头结点 this.find = find; // 根据element值查找节点 this.findPrevious = findPrevious; this.insert = insert; this.remove = remove; this.display = display; } function find (item) { var currNode = this.head; while(currNode.element !== item) { if(currNode.next === null) { return false; } currNode = currNode.next; } return currNode; } function findPrevious (item) { var currNode = this.head; while(currNode.next!==null&& currNode.next.element!=item){ currNode = currNode.next; } return currNode; } function insert (newEleContent, item) { var newNode = new Node(newEleContent); var currNode = this.find(item); newNode.next = currNode.next; currNode.next = newNode; } function display () { var currNode = this.head; while(currNode.next !== null){ console.log(currNode.next.element) currNode = currNode.next; } } function remove (item) { var currNode = this.find(item); var previousNode = this.findPrevious(currNode.element); previousNode.next = currNode.next; currNode = null; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxyzg.html