2016-10-13 00:16:48 点击量:9 标签: 收藏本文
[AS3]AS3的一种排序算法源代码
- 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;
- }
- }
- }
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室