数据结构 链表

来源:互联网 发布:sql server 2005 补丁 编辑:程序博客网 时间:2024/06/07 01:38
<!DOCTYPE html> <html>   <head> <meta charset="utf-8" /> <title></title>   <scripttype="text/javascript"> functionNode(elemnt) { this.item= elemnt; this.next= null; } //循环列表需要修改一下构造函数,和遍历时候的判断条件 //构造函数如下;希望从后向前遍历,又不想要建立双向链表,就使用循环链表。 functionLlist() { this.head= new Node("1"); this.head.next= this.head; this.remove= remove; this.insert= insert; this.find= find; this.display= display; //.......... } functionfind(number) { var curr= this.head; while (curr.item!= number) { curr = curr.next; } return curr; } functioninsert(element,newElement) { var preNode= this.find(element); var current= new Node(newElement); current.next= preNode.next; preNode.next= current; } functionremove() { var current= this.head; console.log("remove"); var hh= 0; while (current.next.next!= null && current.item != current.next.next.item) { var temp= current.next.next; current.next.next= temp.next; current = temp.next; temp.next= null; } return current; } functiondisplay(flag,current) { var crr= this.head; // if (flag) { while(crr.next.item!="1"){ console.log(crr.item); crr = crr.next; } } else {//最后只剩两个直接输出 console.log(current.item); console.log(current.next.item); } } var Clist= new Llist(); for (var i= 1; i < 41; i++) { Clist.insert(i.toString(), (i+ 1).toString()); } Clist.display(1,null); Clist.display(0,Clist.remove()); </script> </head>   <body>   </body>   </html>
0 0
原创粉丝点击