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 相关文章推荐
JavaScript 克隆数组最简单的方法
Feb 12 Javascript
javascript cookies 设置、读取、删除实例代码
Apr 12 Javascript
自制基于jQuery的智能提示插件一枚
Feb 18 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 Javascript
JQuery实现图片轮播效果
Sep 15 Javascript
Node.js利用debug模块打印出调试日志的方法
Apr 25 Javascript
jQuery zTree搜索-关键字查询 递归无限层功能实现代码
Jan 25 jQuery
Vue2.5 结合 Element UI 之 Table 和 Pagination 组件实现分页功能
Jan 26 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
vue 清空input标签 中file的值操作
Jul 21 Javascript
浅谈vue获得后台数据无法显示到table上面的坑
Aug 13 Javascript
JavaScript实现表单验证功能
Dec 09 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
Laravel实现表单提交
2017/05/07 PHP
PHP使用Nginx实现反向代理
2017/09/20 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
MultiSelect左右选择控件的设计与实现介绍
2013/06/08 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
输入自动提示搜索提示功能的使用说明:sugggestion.txt
2013/09/02 Javascript
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
js实现下拉框选择要显示图片的方法
2015/02/16 Javascript
js实现缓冲运动效果的方法
2015/04/10 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
node.js中EJS 模板快速入门教程
2017/05/08 Javascript
js如何获取网页所有图片
2017/05/12 Javascript
微信小程序实现用table显示数据库反馈的多条数据功能示例
2019/05/07 Javascript
vue实现element表格里表头信息提示功能(推荐)
2019/11/20 Javascript
vue Element左侧无限级菜单实现
2020/06/10 Javascript
[00:36]我的中国心——Serenity vs Fnatic
2018/08/21 DOTA
Python的Django框架中设置日期和字段可选的方法
2015/07/17 Python
Django restframework 源码分析之认证详解
2019/02/22 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
Python实现屏幕录制功能的代码
2020/03/02 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
全球工业:Global Industrial
2020/02/01 全球购物
德国户外装备、登山运动和攀岩商店:tapir store
2020/02/12 全球购物
经典c++面试题五
2014/12/17 面试题
中学生检讨书1000字
2014/10/28 职场文书
MySQL查询学习之基础查询操作
2021/05/08 MySQL
详解Redis复制原理
2021/06/04 Redis
MySQL多表查询机制
2022/03/17 MySQL