Re: [問題] 請問氣泡排序法的製作
原文恕刪~
根據原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
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
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
問題
0
4