[AS3]AS3的一种排序算法源代码
[AS3]AS3的一种排序算法源代码
[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;
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...