javascript链表
来源:互联网 发布:免费数据恢复大师 编辑:程序博客网 时间:2024/05/17 04:16
[javascript]
// Created by LJF on 2017/01/14// Modify "data structure and algorithm with javascript"// LinkListfunction Node(element) {this.element = element;this.next = null;}function LinkList() {this.head = new Node("head");this.find = find;this.insert = insert;this.findPrevious = findPrevious;this.remove = remove;this.display = display;}function find(item) {var currNode = this.head;while(currNode.element != item){currNode = currNode.next;}}function insert(newElement, item) {var newNode = new Node(newElement);var current = this.find(item);newNode.next = current.next;current.next = newNode;}function findPrevious(item) {var currNode = this.head;while(!(currNode.next = null) && (currNode.next.element != item)){currNode = currNode.next;}return currNode;}function remove(item) {var prevNode = this.findPrevious(item);if(!(prevNode.next == null)){prevNode.next = prevNode.next.next;}}function display() {var currNode = this.head;while(!(currNode.next == null)){console.log(currNode.next.element);currNode = currNode.next;}}// Two-way linked listfunction Node(element) {this.element = element;this.next = null;this.previous = null;}function LinkList2() {this.head = new Node("head");this.find = find;this.insert = insert;this.remove = remove;this.findLast = findLast;this.display = display;this.dispReverse = dispReverse;}function find(item) {var currNode = this.head;while(currNode.next.element != item){currNode = currNode.next;}return currNode;}function insert(newElement, item) {var newNode = new Node(newElement);var current = this.find(item);newNode.next = current.next;newNode.previous = current;current.next.previous = newNode;current.next = newNode;}function findLast() {var currNode = this.head;while(currNode.next != null){currNode = currNode.next;}return currNode;}function remove(item) {var currNode = this.find(item);if(currNode.next != null){currNode.previous.next = currNode.next;currNode.newx.previous = currNode.previous;currNode.next = null;currNode.previous = null;}}function display() {var currNode = this.head;while(currNode.next != null){console.log(currNode.next.element);currNode = currNode.next;}}function dispReverse() {var currNode = this.head;currNode = this.findLast();while(currNode.previous != null){console.log(currNode.element);currNode = currNode.previous;}}
1 0
- Javascript链表
- javascript链表
- 一个Javascript链表
- Javascript
- JavaScript
- javascript
- javascript
- javascript
- javascript
- javascript
- JavaScript
- javascript
- JavaScript
- Javascript
- javascript
- javascript
- JavaScript
- javascript
- exercise 34 访问列表中的元素
- NS2入门学习(五)之分裂对象模型和TclCL
- python类中super()和__init__()的区别
- Three.JS学习 7:使用Canvas画一个时钟
- Java,你用它的理由
- javascript链表
- slab源码分析--从slab初始化说起
- JSP中application用法
- HBase的rowkey设计
- HTML5 自定义属性 data-*属性名一定要小写吗?
- Gauss型求积公式
- 关于智能家居的一点想法
- 计算机视觉整理库
- 将faad2转码方法移植到C++