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 相关文章推荐
JS解析XML实例分析
Jan 30 Javascript
jquery处理页面弹出层查询数据等待操作实例
Mar 25 Javascript
jQuery团购倒计时特效实现方法
May 07 Javascript
js代码实现无缝滚动(文字和图片)
Aug 20 Javascript
深入理解jQuery事件绑定
Jun 02 Javascript
js实现5秒倒计时重新发送短信功能
Feb 05 Javascript
JS实现图片点击后出现模态框效果
May 03 Javascript
微信小程序实现轮播图效果
Sep 07 Javascript
javaScript字符串工具类StringUtils详解
Dec 08 Javascript
vuejs实现递归树型菜单组件
Jan 13 Javascript
vue-cli设置publicPath小记
Apr 14 Javascript
js cavans实现静态滚动弹幕
May 21 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
获取URL文件名后缀
2013/10/24 PHP
jquery+php实现导出datatables插件数据到excel的方法
2015/07/06 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
php进行ip地址掩码运算处理的方法
2016/07/11 PHP
thinkphp jquery实现图片上传和预览效果
2020/07/22 PHP
ThinkPHP防止重复提交表单的方法实例分析
2018/05/10 PHP
用js重建星际争霸
2006/12/22 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
jquery实现div阴影效果示例代码
2013/09/16 Javascript
jQuery 动态云标签插件
2014/11/11 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
2015/09/15 Javascript
Angular下H5上传图片的方法(可多张上传)
2017/01/09 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
2017/03/25 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
微信网页登录逻辑与实现方法
2019/04/29 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
JavaScript事件委托实现原理及优点进行
2020/08/29 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
使用python解析xml成对应的html示例分享
2014/04/02 Python
Python验证码识别处理实例
2015/12/28 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
Python实现统计文本文件字数的方法
2017/05/05 Python
详解python中executemany和序列的使用方法
2017/08/12 Python
Python实现Logger打印功能的方法详解
2017/09/01 Python
分享vim python缩进等一些配置
2018/07/02 Python
python 多线程串行和并行的实例
2019/02/22 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
新护士岗前培训制度
2014/02/02 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书