js实现双向链表互联网机顶盒实战应用实现_javascript技巧_脚本之家

上实战代码: linkedlistnode.js 节点类 复制代码 代码如下: /* * 链表节点 */
Dare.LinkedListNode = function (卡塔尔国 { this.data = null;//数据域 this.prev
= null;//四驱 this.next = null;//前驱 };
Dare.extend(Dare.LinkedListNode, Dare卡塔尔;
Dare.LinkedListNode.prototype.getValue = function (卡塔尔 { return this.data;
}; Dare.LinkedListNode.prototype.setValue = function { this.data = obj;
}; Dare.LinkedListNode.prototype.getPrev = function (卡塔尔(قطر‎ { return
this.prev; }; Dare.LinkedListNode.prototype.setPrev = function {
this.prev = node; }; Dare.LinkedListNode.prototype.getNext = function (卡塔尔国{ return this.prev; }; Dare.LinkedListNode.prototype.setNext = function
{ this.prev = node; }; linkedlist.js 链表类 复制代码 代码如下: /* * 双向链表 */
Dare.LinkedList = function () { this.head = null; this.current = null;
this.tail = null; this.length = 0; }; Dare.extend(Dare.LinkedList,
Dare); /* * 尾插法增加节点 */ Dare.LinkedList.prototype.appendNode =
function { if return; if return; var tail = this.tail; if { this.tail =
this.head = node; } else { tail.next = node; node.prev = tail; this.tail
= node; } this.length++; }; /* * 删除节点 */
Dare.LinkedList.prototype.moveNode = function { if return; if return;
//中间节点 var prev = node.prev; if { prev.next = node.next; } if {
node.next.prev = prev; } //头节点 if { this.head = node.next; } //尾节点
if { if { this.tail = prev; } else { this.head = this.tail; } }
node.prev = null; node.next = null; this.length–; }; /* * 结构节点
*/ Dare.LinkedList.prototype.constructNode = function { if (node ==
null || obj == null) return; node.data = obj; return node; }; /* *
获取节点数据 */ Dare.LinkedList.prototype.getNodeData = function { if
return; return node.data; }; /* * 从头开首 */
Dare.LinkedList.prototype.start = function return; return this.current =
this.head; }; /* * 从尾最初 */ Dare.LinkedList.prototype.end =
function return; return this.current = this.tail; }; /* * 下个节点 */
Dare.LinkedList.prototype.nextNode = function return; if return var node
= this.current; this.current = this.current.next; return node; }; /* *
上个节点 */ Dare.LinkedList.prototype.prevNode = function return; if
return var node = this.current; this.current = this.current.prev; return
node; }; /* * 链表是或不是空 */ Dare.LinkedList.prototype.isempty =
function return true; if { return true; } else { return false; } }; /*
* 链表长度 */ Dare.LinkedList.prototype.getLength = function return;
return this.length; }; /* * 清空链表 */
Dare.LinkedList.prototype.clearList = function () { this.head.next =
null; this.head = null; }; /* * 是或不是存在节点 */
Dare.LinkedList.prototype.containsNode = function { if return false; var
node = list.head; if return false; while { if { return true; } node =
node.next; } }; 实战调用用例代码时断时续更新: 复制代码 代码如下:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图