Re: [問題] 請問氣泡排序法的製作

看板Flash作者 (沒人知道....)時間15年前 (2010/05/05 21:28), 編輯推噓2(201)
留言3則, 1人參與, 最新討論串2/2 (看更多)
原文恕刪~ 根據原PO的原始碼 小弟稍微改寫了一下 供原PO參考看看: var a:Array= [6,5,4,7];//給ball的值 var b:Array= [6,5,4,7];// _btn.addEventListener(MouseEvent.CLICK,onClick); //產生泡泡 for(var i:int=0;i<4;i++) //選擇幾個泡泡 { var ball:MovieClip=this;//new bobble() ball['b'+i].num_txt.text=a[i]; } //移動泡泡 function onClick(e:MouseEvent):void { for(var i:int=0;i<(a.length-1);i++) { //由於外層迴圈每執行一次,會確認一個泡泡的位置,因此內層迴圈 //不必每次都執行a.length-1次 for(var j:int=0;j<(a.length-1-i);j++) { //泡泡前後比較數值大小,如果前者大於後者,交換數值 if(a[j]>a[j+1]) { var temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; //更新泡泡的數值 ball['b'+j].num_txt.text=a[j]; ball['b'+(j+1)].num_txt.text=a[j+1]; } } } } 由於原始檔裡的泡泡長得都一樣 所以泡泡交換位置的功能以交換泡泡文字方塊的數值達成 以上是個人淺見 希望對原po有幫助 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.193.22.175

05/06 04:53, , 1F
謝謝rock大的修改,真的可以正確排序耶XD....(灑花)
05/06 04:53, 1F

05/06 15:28, , 2F
若小妹想要每次變動一次泡泡就暫停,再按一次按鈕就繼續
05/06 15:28, 2F

05/06 15:29, , 3F
執行,這樣的話小妹我該用甚麼方法讓他暫停?><...
05/06 15:29, 3F
文章代碼(AID): #1BuN9yAs (Flash)
文章代碼(AID): #1BuN9yAs (Flash)