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 相关文章推荐
document.all还是document.getElementsByName?
Jul 21 Javascript
基于jQuery的仿flash的广告轮播代码
Nov 04 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
基于JQuery的列表拖动排序实现代码
Oct 01 Javascript
jQuery实现自定义下拉列表
Jan 05 Javascript
jquery实现的3D旋转木马特效代码分享
Aug 25 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
Javascript中this关键字指向问题的测试与详解
Aug 11 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
Aug 17 Javascript
Vue 组件注册全解析
Dec 17 Vue.js
Vue中inheritAttrs的使用实例详解
Dec 31 Vue.js
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获取文件后缀名的三个函数
2012/10/15 PHP
解析argc argv在php中的应用
2013/06/24 PHP
php精确的统计在线人数的方法
2015/10/21 PHP
jQuery+PHP实现图片上传并提交功能
2020/07/27 PHP
删除重复数据的算法
2006/11/23 Javascript
JavaScript 快捷键设置实现代码
2009/03/13 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
jquery果冻抖动效果实现方法
2015/01/15 Javascript
深入理解bootstrap框架之第二章整体架构
2016/10/09 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
jquery基于layui实现二级联动下拉选择(省份城市选择)
2017/06/20 jQuery
JS基于对象的链表实现与使用方法示例
2019/01/31 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
微信小程序之数据绑定原理解析
2019/08/14 Javascript
element-ui中按需引入的实现
2019/12/25 Javascript
python爬取各类文档方法归类汇总
2018/03/22 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
python3人脸识别的两种方法
2019/04/25 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
python_matplotlib改变横坐标和纵坐标上的刻度(ticks)方式
2020/05/16 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
Python random模块的使用示例
2020/10/10 Python
详解python第三方库的安装、PyInstaller库、random库
2021/03/03 Python
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
Lucene推荐的分页方式是什么?
2015/12/07 面试题
高中军训广播稿
2014/01/14 职场文书
学生打架检讨书1000字
2014/01/16 职场文书
《巨人的花园》教学反思
2014/02/12 职场文书
政府法律服务方案
2014/06/14 职场文书
2014年卫生工作总结
2014/11/27 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书