javascript写的一个链表实现代码
本来要用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来建立链表.. 并对此进行了排序.. 还可以在GenericList一般链表上进行扩展. 实现各种排序及增,删,改结点.. 复制代码 代码如下: function Node(){ this.data=null; this.next=null; } function GenericList(){ this.head=null; this.current=null; //打出所有的链表结点 this.print= function(){ this
-
js单向链表的具体实现实例
复制代码 代码如下: function linkNode(_key, _value){ /// <summary> /// 链表类的节点类 /// </summary> this.Key = _key; this.Value = _value; this.next = null;}function Link(){ /// <summary> /// 创建一个链表类 /// </summary> th
-
深入理解链表的各类操作详解
链表概述链表是一种常见的重要的数据结构.它是动态地进行存储分配的一种结构.它可以根据需要开辟内存单元.链表有一个"头指针"变量,以head表示,它存放一个地址.该地址指向一个元素.链表中每一个元素称为"结点",每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址.因此,head指向第一个元素:第一个元素又指向第二个元素:--,直到最后一个元素,该元素不再指向其它元素,它称为"表尾",它的地址部分放一个"NULL&qu
-
js链表操作(实例讲解)
如下所示: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script> function Node(v){ this.value=v; this.next=null; } function ArrayList(){ this.head=new Node(
-
JavaScript数据结构链表知识详解
最近在看<javascript数据结构和算法>这本书,补一下数据结构和算法部分的知识,觉得自己这块是短板. 链表:存储有序的元素集合,但不同于数组,链表中的元素在内存中不是连续放置的.每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称指针或链接)组成. 好处:可以添加或移除任意项,它会按需扩容,且不需要移动其他元素. 与数组的区别: 数组:可以直接访问任何位置的任何元素: 链表:想要访问链表中的一个元素,需要从起点(表头)开始迭代列表直到找到所需的元素. 做点小笔记. funct
-
javascript写的一个链表实现代码
本来要用Array来保存数据的,没试过用JS来数据结构,就用JS来试试吧. JS效率真的很低一个链表装1000个对象浏览器就提示运行缓慢了. 之前觉得AJAX3D挺用前景的,现在看来还没有流行就要夭折了.用delphi开发的游戏人们都觉得太慢了,何况用JS. 下面是我实现的一个链表: 复制代码 代码如下: /*@author eric *@mail shmilyhe@163.com *blog.csdn.net/shmilyhe */ <script> function Student(no,
-
JavaScript写的一个自定义弹出式对话框代码
下图是我的设计思路 下面是具体的js代码 1,首先定义几个自定义函数 代码 复制代码 代码如下: //判断是否为数组 function isArray(v) { return v && typeof v.length == 'number' && typeof v.splice == 'function'; } //创建元素 function createEle(tagName) { return document.createElement(tagName); } //在
-
javascript写的一个表单动态输入提示的代码
*{ margin:0px;padding:0px;font-size:12px; } input{ width:100px;height:20px;border:1px solid #ccc; } function tips(id,str){ var l=document.getElementById(id).offsetLeft+120; var t=document.getElementById(id).offsetTop; document.getElementById("tips&qu
-
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
最近我的共享目录里面所有exe文件都被病毒感染,上网一查才知道是"logo1_.exe"这个咚咚搞的鬼.网上对这个病毒的危害性评价得很高,认为只要中了病毒,整台机器都只能"Format"了.其原因大概就是因为所有应用程序都被感染,运行任何程序都回使病毒"重生".我使用"卡巴司机"杀毒,结果提示无法清除,将我整个exe文件给删了.郁闷中,自己动手写了这个咚咚来清除已感染程序里的的病毒. 中了"logo1_.exe&qu
-
javascript写的一个模拟阅读小说的程序
复制代码 代码如下: <html> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <head> <title></title> <script type="text/javascript"> function Reader(content, cID, stopID, continue
-
javascript 写的一个简单的timer
先看看效果吧.代码很简单,只是使用了javascript的setTimeout()函数.用到的html" 复制代码 代码如下: <table> <td bgcolor="EE8F8F" height="45"> <img src="dg8.gif" src="dg8.gif" name="hr1"><img src="dg8.gif"
-
JavaScript写的一个DIV 弹出网页对话框
网上搜索到的代码,做了一些修改该, 修正无法自定义颜色,修正IE8 下错误,以及其他小BUG 兼容IE6~8以及火狐 可以自定义 // 提示窗口标题高度 // 提示窗口的边框颜色 // 提示窗口的标题颜色 // 提示窗口的标题背景色 // 提示内容的背景色 // 提示内容文字对齐方式 功能 可以弹出一个大DIV遮住页面(IE下 透明) 然后在屏幕中央显示显示一个小DIV 可用作功能提示 操作提示 以及公告等 提示内容可以使带HTML标记的文字,也可是一个页面链接 复制代码 代码如下: funct
-
兼容FireFox 用javascript写的一个画图函数
早晨醒来突然想写一个画图函数,以前在网上看到有人做过,但都是用VML做的,只有ie支持. 偶这个是用<div>形成的绝对定位的点画出来的,兼容各种浏览器. Untitled 1 .style1 { font-size: x-small; } function makedot(x,y){ //画点函数 document.write(" ") } /** 函数功能:根据给定的圆心和半径画圆 函数思路:根据半径及圆心坐标利用数学方法计算从0°到360°的每点的坐标,并画出来. *
-
用按钮触发Javascript动态生成一个表格的代码
动态添加表格 function z() { q.innerHTML=q.innerHTML+' 热烈欢迎你光临!! ' } [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]
-
javascript写的简单的计算器,内容很多,方法实用,推荐
最近用javascript写了一个简单的计算器,自己测试感觉还好,先给大家观赏下界面: 界面就是这样了,但是功能如何呢? 现在只是个简单的标准计算器,能进行加减乘除连续运算,以及求余运算.如果发生被除数为零的错误,下面会给出提示,就像这样: 自己不知道写的怎么样,但是对于新手来说,这肯定是一份大餐,里面可以接触到的东西不少,可以拿来学习.如果有高手看出里面的疏漏.错误等望不吝赐教,给予指点. 下面贴上代码,希望里面的注释足够多了. js部分: 复制代码 代码如下: var num=0,resul
随机推荐
- jsp web.xml文件的作用及基本配置
- 安装mysql出错”A Windows service with the name MySQL already exists.“如何解决
- freebsd安装图解
- .NET程序调试技巧(一):快速定位异常的一些方法
- ASP.NET中Form表单不可以嵌套使用
- asp.net生成验证码(纯数字)
- Android实现类似iOS风格的对话框实例代码
- 浅谈php和.net的区别
- 浅析PHP的静态成员函数效率更高的原因
- 老生常谈PHP面向对象之解释器模式
- ThinkPHP实现递归无级分类——代码少
- php jsonp单引号转义
- Win下Mysql5.6升级到5.7的方法
- 深入理解curl类,可用于模拟get,post和curl下载
- JavaScript微信定位功能实现方法
- Bootstrap源码解读排版(1)
- js 优化次数过多的循环 考虑到性能问题
- 获取MSSQL 表结构中字段的备注、主键等信息的sql
- php-redis中的sort排序函数总结
- My Desktop :) 桌面式代码