javascript写的一个链表实现代码
javascript写的一个链表实现代码
发布时间:2016-12-30 来源:查字典编辑
摘要:本来要用Array来保存数据的,没试过用JS来数据结构,就用JS来试试吧。JS效率真的很低一个链表装1000个对象浏览器就提示运行缓慢了。之...

本来要用Array来保存数据的,没试过用JS来数据结构,就用JS来试试吧。

JS效率真的很低一个链表装1000个对象浏览器就提示运行缓慢了。

之前觉得AJAX3D挺用前景的,现在看来还没有流行就要夭折了。用delphi开发的游戏人们都觉得太慢了,何况用JS。

下面是我实现的一个链表:

复制代码 代码如下:

/*@author eric

*@mail shmilyhe@163.com

*blog.csdn.net/shmilyhe

*/

<script>

function Student(no,name){

this.id=no;

this.name=name;

this.scores={chinese:0,math:0,english:0};

}

function List(){

this.head=null;

this.end=null;

this.curr=null;

}

List.prototype.add=function(o){

var tem={ob:o,next:null};

if(this.head){

this.end.next=tem;

this.end=tem;

}else{

this.head=tem;

this.end=tem;

this.curr=tem;

}

}

List.prototype.del=function(inde){

var n=this.head;

for(var i=0;i<inde;i++){

n=n.next;

}

n.next=n.next.next?n.next.next:null;

}

List.prototype.next=function(){

var te=null;

if(this.curr){

te=this.curr.ob; this.curr=this.curr.next;}

return te;

}

List.prototype.hasnext=function(){

if(this.curr.ob!=null)return true;

return false;

}

var list=new List();

for(var i=0;i<1000;i++){

list.add(new Student(i,'name'+i));

}

var i=0;

while(list.hasnext()){

document.writeln(list.next().name);

if(i==10){document.writeln('<br/>'); i=0;}

i++;

}

</script>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类