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对象关系图 方便dom操作
Mar 18 Javascript
js 浏览器事件介绍
Mar 30 Javascript
如何将网页表格内容导入excel
Feb 18 Javascript
jquery使用jxl插件导出excel示例
Apr 14 Javascript
原生js配合cookie制作保存路径的拖拽
Dec 29 Javascript
Angular2内置指令NgFor和NgIf详解
Aug 03 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
解决AngualrJS页面刷新导致异常显示问题
Apr 20 Javascript
react-router实现按需加载
May 09 Javascript
AngularJS中下拉框的基本用法示例
Oct 11 Javascript
微信小程序实现轨迹回放的示例代码
Dec 13 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的String类代码
2010/04/20 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
javascript Object与Function使用
2010/01/11 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
Javascript基础知识(二)事件
2014/09/29 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
angularJS 中$scope方法使用指南
2015/02/09 Javascript
你一定会收藏的Nodejs代码片段
2016/02/04 NodeJs
jQuery实现发送验证码并60秒倒计时功能
2016/11/25 Javascript
JavaScript编程设计模式之观察者模式(Observer Pattern)实例详解
2017/10/25 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
2017/12/13 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
js面向对象封装级联下拉菜单列表的实现步骤
2021/02/08 Javascript
在Django的URLconf中使用多个视图前缀的方法
2015/07/18 Python
浅谈python函数之作用域(python3.5)
2017/10/27 Python
Python将多份excel表格整理成一份表格
2018/01/03 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
浅析python的Lambda表达式
2019/02/27 Python
使用Python为中秋节绘制一块美味的月饼
2019/09/11 Python
详解Python在使用JSON时需要注意的编码问题
2019/12/06 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
电影T恤、80年代T恤和80年代服装:TV Store Online
2020/01/05 全球购物
生物科学专业毕业生求职信
2014/06/02 职场文书
2014和解协议书范文
2014/09/15 职场文书
学生保证书格式
2015/02/27 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
python实现学生信息管理系统(面向对象)
2022/06/05 Python