用AS3实现选择排序算法

选择排序的思想:

选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾(目前已被排序的序列)。以此类推,直到所有元素均排序完毕。
百科:选择排序 维基百科

 

 1 package
 2 {
 3     /**
 4      * 选择排序算法
 5      * @author Ant
 6      * 
 7      */    
 8     public class SelectedArray
 9     {
10         private var arr:Array;
11         public function SelectedArray()
12         {
13             arr=new Array();
14             for(var i:int=1;i<=10;i++){
15                 arr.push(Math.random()*i);
16             }
17             selectSort(arr);
18         }
19         /**
20          * 简单的选择排序,时间复复杂度为:0(n^2)
21          * 性能上优于冒泡排序
22          * 其实思想可以这样理解:就是在第一个位置,插入最小的一个,在第二个位置插入剩下最小的一个,以此类推
23          */
24         private function selectSort(arr:Array):void{
25             var i:int,j:int ,min:int;
26             var temp:*;
27             for(i=0;i<arr.length;i++){
28                 min=i;
29                 for(j=i+1;j<arr.length;j++){
30                     if(arr[min]>arr[j]){
31                         min=j;
32                     }
33                 }
34                 if(i!=min){
35                     temp=arr[i];
36                     arr[i]=arr[min];
37                     arr[min]=temp;
38                 }
39             }
40         }
41     }
42 }

posted on 2012-05-19 16:21  沙漠之泉  阅读(257)  评论(0编辑  收藏  举报

导航