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 相关文章推荐
jQuery学习7 操作JavaScript对象和集合的函数
Feb 07 Javascript
js操作css属性实现div层展开关闭效果的方法
May 11 Javascript
jQuery实现的文字hover颜色渐变效果实例
Feb 20 Javascript
javascript类型系统_正则表达式RegExp类型详解
Jun 24 Javascript
微信js-sdk界面操作接口用法示例
Oct 12 Javascript
原生Javascript插件开发实践
Jan 09 Javascript
微信小程序实现给循环列表添加点击样式实例
Apr 26 Javascript
Vue 实现列表动态添加和删除的两种方法小结
Sep 07 Javascript
详解Vue内部怎样处理props选项的多种写法
Nov 06 Javascript
VUE中使用HTTP库Axios方法详解
Feb 05 Javascript
JS实现图片幻灯片效果代码实例
May 21 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 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
解析php防止form重复提交的方法
2013/07/01 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
js 未结束的字符串常量错误解决方法
2010/06/13 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
JQuery实现样式设置、追加、移除与切换的方法
2015/06/11 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
vue初始化动画加载的实例
2018/09/01 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
vue自动添加浏览器兼容前后缀操作
2020/08/13 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python 深入理解yield
2008/09/06 Python
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
Python中input和raw_input的一点区别
2014/10/21 Python
Python cookbook(数据结构与算法)筛选及提取序列中元素的方法
2018/03/19 Python
Python简单计算给定某一年的某一天是星期几示例
2018/06/27 Python
python flask框架实现重定向功能示例
2019/07/02 Python
pytorch方法测试——激活函数(ReLU)详解
2020/01/15 Python
python 偷懒技巧——使用 keyboard 录制键盘事件
2020/09/21 Python
Python识别验证码的实现示例
2020/09/30 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
Melijoe美国官网:法国奢侈童装购物网站
2017/04/19 全球购物
小学岗位竞聘方案
2014/01/22 职场文书
学生手册家长评语
2014/02/10 职场文书
个人校本研修方案
2014/05/26 职场文书
授权委托书样本及填写说明
2014/09/19 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
小学家长通知书评语
2014/12/31 职场文书
2015年七夕爱情寄语
2015/03/24 职场文书
暑期社会实践新闻稿
2015/07/17 职场文书
清洁工工作总结
2015/08/11 职场文书
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android
python超详细实现完整学生成绩管理系统
2022/03/17 Python