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 DOM 学习第七章 表单的扩展
Feb 19 Javascript
基于jQuery实现模拟页面加载进度条
Apr 01 Javascript
防止xss和sql注入:JS特殊字符过滤正则
Apr 18 Javascript
判断JS对象是否拥有某种属性的两种方式
Dec 02 Javascript
JavaScript面向对象之私有静态变量实例分析
Jan 14 Javascript
在JSP中如何实现MD5加密的方法
Nov 02 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
Bootstrap CSS组件之按钮下拉菜单
Dec 17 Javascript
JavaScript中使用参数个数实现重载功能
Sep 01 Javascript
微信小程序wx.previewImage预览图片实例详解
Dec 07 Javascript
在vue中给列表中的奇数行添加class的实现方法
Sep 05 Javascript
微信小程序关键字变色实现代码实例
Dec 13 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
PHP中常用数组处理方法实例分析
2008/08/30 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
PHP时间戳与日期之间转换的实例介绍
2013/04/19 PHP
php计算当前程序执行时间示例
2014/04/24 PHP
编译PHP报错configure error Cannot find libmysqlclient under usr的解决方法
2014/06/27 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
2016/03/18 PHP
javascript中巧用“闭包”实现程序的暂停执行功能
2007/04/04 Javascript
Jquery中&quot;$(document).ready(function(){ })&quot;函数的使用详解
2013/12/30 Javascript
jQuery实现数秒后自动提交form的方法
2015/03/05 Javascript
jquery模拟alert的弹窗插件
2015/07/31 Javascript
精通JavaScript的this关键字
2020/05/28 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
学习使用jQuery表单验证插件和日历插件
2017/02/13 Javascript
JS实现的文件拖拽上传功能示例
2018/05/21 Javascript
vue + any-touch实现一个iscroll 实现拖拽和滑动动画效果
2019/04/08 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
JavaScript实现简单计算器
2020/03/19 Javascript
[19:26]TNC vs EG (BO3)
2018/06/07 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
一个基于flask的web应用诞生 用户注册功能开发(5)
2017/04/11 Python
对Python字符串中的换行符和制表符介绍
2018/05/03 Python
Django + Uwsgi + Nginx 实现生产环境部署的方法
2018/06/20 Python
python判断设备是否联网的方法
2018/06/29 Python
Python实现字典排序、按照list中字典的某个key排序的方法示例
2018/12/18 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
Python换行与不换行的输出实例
2020/02/19 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
详解如何通过H5(浏览器/WebView/其他)唤起本地app
2017/12/11 HTML / CSS
行政助理的岗位职责
2014/02/18 职场文书
2016年劳模先进事迹材料
2016/02/25 职场文书
python 调用js的四种方式
2021/04/11 Python
解决golang 关于全局变量的坑
2021/05/06 Golang
Mongo服务重启异常问题的处理方法
2021/07/01 MongoDB
Python实现打乒乓小游戏
2021/09/25 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript