JavaScript实现的链表数据结构实例


Posted in Javascript onApril 02, 2015

此例是javascript来建立链表。。
并对此进行了排序。。

还可以在GenericList一般链表上进行扩展。
实现各种排序及增,删,改结点。。

function Node(){

  this.data=null;

  this.next=null;

}
function GenericList(){

  this.head=null;

  this.current=null; 

  //打出所有的链表结点

  this.print= function(){

  this.current=this.head;

   while(this.current!=null){

      alert(this.current.data);

      this.current=this.current.next;

    }

  

  },

  //建立链表

  this.addHead =function(t){

      

  

      var node=new Node();

      node.data=t;

      node.next=this.head;

      this.head=node;

 

  }

  

 
}


function SortList(){

//冒泡排序链表 

this.BubbleSort=function()

   {

     if(this.head==null||this.head.next==null)

     {

        return ;

     }

    var swapped;

    do{

    

     this.previous=null;

     this.current=this.head;
     var swapped=false;

     while(this.current.next!=null)

      {

       

       if(this.current.data-this.current.next.data>0)

        {

       

        var tmp=this.current.next;

        this.current.next=this.current.next.next;

        tmp.next=this.current;

        if(this.previous==null)

            {

               this.head=tmp;

            }

         else

           {

               this.previous.next=tmp;

           }

          this.previous=tmp;

          swapped=true;

          

       

       }

       else

        {

        

        this.previous=this.current;

        this.current=this.current.next;

        

        }

     

     }

     

      

    

    }while(swapped);

   

   }
}
SortList.prototype=new GenericList();


(function Main(){

 var sl=new  SortList();

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

 {sl.addHead(arguments[i]);

 }

 alert("未排序的链表");

 sl.print();

 sl.BubbleSort();

  alert("已排序的链表  从小到大");

 sl.print();
})("1","2","3","4")
Javascript 相关文章推荐
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
Jan 16 Javascript
网上抓的一个特效
May 11 Javascript
jQuery对象和DOM对象的相互转化实现代码
Mar 02 Javascript
一个分享按钮的插件使用介绍(可扩展,内附开发制作流程)
Sep 19 Javascript
浅析JQuery中的html(),text(),val()区别
Sep 01 Javascript
Javascript中的关键字和保留字整理
Oct 16 Javascript
Angular2 PrimeNG分页模块学习
Jan 14 Javascript
AngularJS自定义指令之复制指令实现方法
May 18 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
vue中element组件样式修改无效的解决方法
Feb 03 Javascript
vue中简单弹框dialog的实现方法
Feb 26 Javascript
微信小程序简单的canvas裁剪图片功能详解
Jul 12 Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 #Javascript
通过JS判断联网类型和连接状态的实现代码
Apr 01 #Javascript
Javascript中数组方法汇总(推荐)
Apr 01 #Javascript
javascript闭包的理解
Apr 01 #Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 #Javascript
JavaScript之Object类型介绍
Apr 01 #Javascript
JS修改iframe页面背景颜色的方法
Apr 01 #Javascript
You might like
谈一谈收音机的高放电路
2021/03/02 无线电
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
2013/07/04 Javascript
利用javascript判断文件是否存在
2013/12/31 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
JavaScript使用push方法添加一个元素到数组末尾用法实例
2015/04/06 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
jQuery插件实现图片轮播特效
2016/06/16 Javascript
RGB和YUV 多媒体编程基础详细介绍
2016/11/04 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
微信小程序录音与播放录音功能
2017/12/25 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
vue开发环境配置跨域的方法步骤
2019/01/16 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
python局部赋值的规则
2013/03/07 Python
python实现文件名批量替换和内容替换
2014/03/20 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
pytorch随机采样操作SubsetRandomSampler()
2020/07/07 Python
Python如何解除一个装饰器
2020/08/07 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
python 绘制正态曲线的示例
2020/09/24 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
介绍一下write命令
2014/08/10 面试题
周年庆典邀请函范文
2014/01/23 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
2015年卫生监督工作总结
2015/05/21 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书