第五篇 AS的希尔排序

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<10;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();
//var newArr:Array= selectSort();
var newArr:Array= shellSort();
for(var j:int=0;j<newArr.length;j++){
txtnew.appendText("  ,   "+newArr[j]);
}

}

private function shellSort():Array{
var inner:int;
var outer:int;
var temp:int;
var h:int=1;
while(h<=oldArr.length/3){
   h=h*3+1;
}
while(h>0){
   for(outer=h;outer<oldArr.length;outer++){
   temp=oldArr[outer];
inner=outer;
while(inner>(h-1) && oldArr[inner-h]>=temp){
oldArr[inner]=oldArr[inner-h];
inner-=h;
}
oldArr[inner]=temp;
}
h=int((h-1)/3);
}

return oldArr;
}



}

}


其实算不上自己写的,只不过搬过来,都还不深入了解这个算法···

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值