JavaScript實現的鏈表資料結構執行個體

來源:互聯網
上載者:User

   此例是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

  {sl.addHead(arguments[i]);

  }

  alert("未排序的鏈表");

  sl.print();

  sl.BubbleSort();

  alert("已排序的鏈表 從小到大");

  sl.print();

  })("1","2","3","4")

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.