数组冒泡排序(as2.0)

数组排序有很多种算法。在冒泡算法中,较小的数组元素朝数组顶部逐渐冒上来,就像水中气泡上升一样,而较大的数组元素朝数组底部逐渐沉下去。这种算法用嵌套循环对整个数组数次遍历,每次遍历都比较数组中相邻的一对元素,如果它们以升序排列(或者值相等),那么它们的位置不变,否则交换它们的位置。看下面代码。

package {
public class Array2 {
//冒泡排序
public static function bubbleSort(array : Array) : void {
//外层循环
for (var i : uint = 0;i < array.length - 1; i++) {
//内层循环
for (var j : uint = 0;j < array.length - i - 1; j++) { if (array[j] > array[j + 1]) {
var temp : uint = array[j]; array[j] = array[j + 1]; array[j + 1] = temp;
}
}
print(i + 1, array); } } public static function print(time : uint,array : Array) : void {
trace("第" + time + "次排序:"); trace(array.toString() + " ");
}
}
}



用法很简单,如下所示。

var array:Array = new Array(4,7,5,3,9,0);
Array2.bubbleSort(array);
/*
第1次排序: 4,5,3,7,0,9
第2次排序: 4,3,5,0,7,9
第3次排序: 3,4,0,5,7,9
第4次排序: 3,0,4,5,7,9
第5次排序: 0,3,4,5,7,9 */


在冒泡算法中,外层循环的次数即是该算法的次数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值