package
{
public class BubbleSort
{
public function BubbleSort()
{
var arr:Array = [2, 7, 9, 1, 5, 0, 9, 4];
trace(sort2(arr, true));
trace(sort2(arr, false));
}
/**
* AS3冒泡排序算法
* @param arr 需要排序的数组
* @param isAsc 是否升序
* @return 返回排序后的数组
*/
public function sort(arr:Array, isAsc:Boolean = true):Array
{
if(arr == null)
{
throw new Error("Array is null.");
}
var tmp:*;
if(isAsc)
{
for(var i:int = 0; i < arr.length; i++)
{
for(var j:int = arr.length - 1; j > i; j--)
{
if(arr[j] < arr[j - 1])
{
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
else
{
for(i = 0; i < arr.length; i++)
{
for(j = arr.length - 1; j > i; j--)
{
if(arr[j] > arr[j - 1])
{
tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
}
}
}
}
return arr;
}
// 另一种写法
public function sort2(arr:Array, isAsc:Boolean = true):Array
{
if(arr == null)
{
throw new Error("Array is null.");
}
var tmp:*;
if(isAsc)
{
for(var i:int = 0; i < arr.length; i++)
{
for(var j:int = i; j < arr.length; j++)
{
if(arr[i] > arr[j])
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
else
{
for(i = 0; i < arr.length; i++)
{
for(j = i; j < arr.length; j++)
{
if(arr[i] < arr[j])
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
}
return arr;
}
}
}
AS3冒泡排序算法
最新推荐文章于 2025-07-22 00:50:53 发布
本文介绍了一种使用ActionScript 3.0 (AS3) 实现的冒泡排序算法,并提供了两种不同的实现方式,一种适用于升序排列,另一种适用于降序排列。该算法能够对数组进行有效排序。
542

被折叠的 条评论
为什么被折叠?



