第一篇 AS的冒泡例子

来源:互联网 发布:1password mac 买断版 编辑:程序博客网 时间:2024/06/08 06:54

打算用as把java数据结构和算法这本书的算法复现一遍,加强自己的算法能力,看到什么错误的话千万别客气指出来,这是第一篇,最简单的冒泡,如下:


package

{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.text.TextField;

public class BubbleSort extends Sprite
{
private var txtold:TextField=new TextField();
private var txtnew:TextField=new TextField();
private var oldArr:Array=[];
public function BubbleSort()
{
stage.scaleMode=StageScaleMode.NO_SCALE;
stage.align=StageAlign.TOP_LEFT;

txtold.text="原先的数组是:";
for(var i:int=0;i<6;i++){
oldArr.push(int(Math.random()*100));
txtold.appendText("  ,   "+oldArr[i]);
}
addChild(txtold);
txtold.x=100;
txtold.y=50;
txtold.width=400;
txtold.height=30;

txtnew.text="新的数组是:";
addChild(txtnew);
txtnew.x=100;
txtnew.y=150;
txtnew.width=400;
txtnew.height=30;

var newArr:Array=bubble();

for(var j:int=0;j<newArr.length;j++){
txtnew.appendText("  ,   "+newArr[j]);
}

}

private function bubble():Array
{
for(var i:int=0; i<oldArr.length;i++)
{
//执行多少轮的排列
for(var j:int=oldArr.length-1; j > i; j--)
{
//一轮把大的放到了最左边
if (oldArr[j-1] < oldArr[j])
{
swap(j-1,j);
}
}
}
return oldArr;
}

private function swap(i:int, j:int):void
{
var temp:int=oldArr[i];
oldArr[i]=oldArr[j];
oldArr[j]=temp;
}

}

}


明天会有第二篇的  选择排序


0 0
原创粉丝点击