Main.as:
代码package {
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main()
{
var arr:Array = [1,3,5,2,0,8];
var result:Array = SortController.sortOn(arr, "DESCENDING");
trace(result);
}
}
}
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main()
{
var arr:Array = [1,3,5,2,0,8];
var result:Array = SortController.sortOn(arr, "DESCENDING");
trace(result);
}
}
}
排序类:
代码/**
* by 新
*/
package
{
import mx.flash.UIMovieClip;
public class SortController
{
private static const RANDOM:String = "RANDOM";
private static const INCREASE:String = "INCREASE";
private static const DESCENDING:String = "DESCENDING";
public function SortController()
{
}
public static function sortOn(arr:Array, type:String):Array
{
var result:Array = [];
if (type == SortController.RANDOM)
{
result = sort_random(arr);
}
else if (type == SortController.INCREASE)
{
result = sort_increase(arr);
}
else if (type == SortController.DESCENDING)
{
result = sort_descending(arr);
}
return result;
}
/**
* 随机排序
*/
private static function sort_random(arr:Array):Array
{
var result:Array = [];
while (arr.length > 0)
{
var index:int = Math.round(Math.random() * (arr.length - 1));
result.push(arr[index]);
arr.splice(index, 1);
}
return result;
}
/**
* 升序排序
*/
private static function sort_increase(arr:Array):Array
{
var result:Array = [];
for (var i:int = 0; i < arr.length; i++)
{
for (var j:int = arr.length - 1; j > i; j--)
{
if (arr[i] > arr[j])
{
trace(arr[i], arr[j]);
var temp:Number = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
result = arr;
return result;
}
/**
* 倒序排序
*/
private static function sort_descending(arr:Array):Array
{
var result:Array = [];
var increaseArr:Array = sort_increase(arr);
for (var i:int = 1; i < increaseArr.length + 1; i++)
{
result.push(increaseArr[increaseArr.length - i]);
}
return result;
}
}
}
* by 新
*/
package
{
import mx.flash.UIMovieClip;
public class SortController
{
private static const RANDOM:String = "RANDOM";
private static const INCREASE:String = "INCREASE";
private static const DESCENDING:String = "DESCENDING";
public function SortController()
{
}
public static function sortOn(arr:Array, type:String):Array
{
var result:Array = [];
if (type == SortController.RANDOM)
{
result = sort_random(arr);
}
else if (type == SortController.INCREASE)
{
result = sort_increase(arr);
}
else if (type == SortController.DESCENDING)
{
result = sort_descending(arr);
}
return result;
}
/**
* 随机排序
*/
private static function sort_random(arr:Array):Array
{
var result:Array = [];
while (arr.length > 0)
{
var index:int = Math.round(Math.random() * (arr.length - 1));
result.push(arr[index]);
arr.splice(index, 1);
}
return result;
}
/**
* 升序排序
*/
private static function sort_increase(arr:Array):Array
{
var result:Array = [];
for (var i:int = 0; i < arr.length; i++)
{
for (var j:int = arr.length - 1; j > i; j--)
{
if (arr[i] > arr[j])
{
trace(arr[i], arr[j]);
var temp:Number = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
result = arr;
return result;
}
/**
* 倒序排序
*/
private static function sort_descending(arr:Array):Array
{
var result:Array = [];
var increaseArr:Array = sort_increase(arr);
for (var i:int = 1; i < increaseArr.length + 1; i++)
{
result.push(increaseArr[increaseArr.length - i]);
}
return result;
}
}
}

浙公网安备 33010602011771号