这是一个建立javascript的列表。

这已经被分类了。

它也可以在genericlist广义表的扩展。

实现各种排序和增加,删除,修改节点。

复制代码代码如下所示:

函数节点(){

这个数据= null;

这个,下一个= null;

}

功能genericlist(){

这个,头= null;

这个,当前=空;

播放所有节点列表

这一点。打印=函数(){

这this.head电流=;

而(this.current!= NULL){

警报(当前,数据);

这this.current.next电流=;

}



},

名单的建立。

this.addhead =函数(T){





var节点=新节点();

节点=数据;

未来= this.head节点;

这个,头=节点;



}





}



功能sortlist(){

冒泡排序列表

这冒泡=函数()。

{

如果(这。头= = null | |这。头下= =零。)

{

返回;

}

无功交换;

做{



这个;

这this.head电流=;

var =假;

而(this.current.next!= null)

{



如果(当前,数据,当前,下一步,数据> 0)

{



var tmp = this.current.next;

这下= this.current.next.next。电流;

未来= this.current TMP;

如果(这个= = NULL)

{

这个,头= TMP;

}

其他的

{

这个,上一个,下一个;

}

这个,以前的= TMP;

交换=真;





}

其他的

{



这一this.current =;

这this.current.next电流=;



}



}







}(交换);



}

}

sortlist原型=新genericlist();



(main(){

VaR SL =新sortlist();

对于(var i = 0;i < arguments.length;i++)

{ sl.addhead(参数{我});

}

警报(无序列表);

sl.print();

Sl.BubbleSort();

警报(从小到大的链表);

sl.print();

}(1