源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript实现的链表数据结构实例

  • 时间:2020-12-11 10:37 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript实现的链表数据结构实例
此例是javascript来建立链表。。 并对此进行了排序。。 还可以在GenericList一般链表上进行扩展。 实现各种排序及增,删,改结点。。
[u]复制代码[/u] 代码如下:
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")
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部