Posted in Javascript onApril 02, 2015
此例是javascript来建立链表。。
并对此进行了排序。。
还可以在GenericList一般链表上进行扩展。
实现各种排序及增,删,改结点。。
function Node(){ this.data=null; this.next=null; } function GenericList(){ this.head=null; this.current=null; //打出所有的链表结点 this.print= function(){ this.current=this.head; while(this.current!=null){ alert(this.current.data); this.current=this.current.next; } }, //建立链表 this.addHead =function(t){ var node=new Node(); node.data=t; node.next=this.head; this.head=node; } } function SortList(){ //冒泡排序链表 this.BubbleSort=function() { if(this.head==null||this.head.next==null) { return ; } var swapped; do{ this.previous=null; this.current=this.head; var swapped=false; while(this.current.next!=null) { if(this.current.data-this.current.next.data>0) { var tmp=this.current.next; this.current.next=this.current.next.next; tmp.next=this.current; if(this.previous==null) { this.head=tmp; } else { this.previous.next=tmp; } this.previous=tmp; swapped=true; } else { this.previous=this.current; this.current=this.current.next; } } }while(swapped); } } SortList.prototype=new GenericList(); (function Main(){ var sl=new SortList(); for(var i=0;i<arguments.length;i++) {sl.addHead(arguments[i]); } alert("未排序的链表"); sl.print(); sl.BubbleSort(); alert("已排序的链表 从小到大"); sl.print(); })("1","2","3","4")
JavaScript实现的链表数据结构实例
- Author -
junjie声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@