javascript写的一个链表实现代码


Posted in Javascript onOctober 25, 2009

本来要用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 单例/单体模式(Singleton)
Apr 07 Javascript
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
Apr 08 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
Feb 03 Javascript
详解Angularjs中的依赖注入
Mar 11 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
Jun 08 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
Nov 25 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
原生JS封装_new函数实现new关键字的功能
Aug 12 Javascript
微信小程序如何获取手机验证码
Nov 04 Javascript
JavaScript数组及常见操作方法小结
Nov 13 Javascript
微信小程序自定义支持图片的弹窗
Dec 21 Javascript
JavaScript的变量作用域深入理解
Oct 25 #Javascript
理解JavaScript变量作用域更轻松
Oct 25 #Javascript
理解 JavaScript 预解析
Oct 25 #Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
Oct 25 #Javascript
JavaScript弹簧振子超简洁版 完全符合能量守恒,胡克定理
Oct 25 #Javascript
javascript window对象属性整理
Oct 24 #Javascript
Javascript 模式实例 观察者模式
Oct 24 #Javascript
You might like
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
adodb与adodb_lite之比较
2006/12/31 PHP
php下的权限算法的实现
2007/04/28 PHP
PHP+Ajax检测用户名或邮件注册时是否已经存在实例教程
2014/08/23 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
jQuery 源码分析笔记(7) Queue
2011/06/19 Javascript
JQuery分别取得每行最后一列和最后一行的示例代码
2013/08/18 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
jQuery实现可关闭固定于底(顶)部的工具条菜单效果
2015/11/06 Javascript
超详细的javascript数组方法汇总
2015/11/21 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
pyside写ui界面入门示例
2014/01/22 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
python和opencv实现抠图
2018/07/18 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
VSCode中自动为Python文件添加头部注释
2019/11/14 Python
使用sublime text3搭建Python编辑环境的实现
2021/01/12 Python
is_file和file_exists效率比较
2021/03/14 PHP
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
路政管理求职信
2014/06/18 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
2015年学校体育工作总结
2015/04/22 职场文书
采购员工作总结范文
2015/08/12 职场文书
2016年社区国庆节活动总结
2016/04/01 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis