選擇排序

思路:spa

選擇排序:
1、找到序列中最小數(得到其編號),將其與第一個位置的數交換;
2、找到序列中除最小數以外的最小數(獲取編號),將其與第二個位置的數交換;
三、以此類推,得到從小到大的數據。

 

實現代碼:code

 1  //選擇排序(從小到大) 
 2         public static void main(String[] args) {
 3             int min;//記錄編號
 4             int[] a={12,33,1,44,22,12,8,24,31};//要排序的數據
 5             int len=a.length;//數據長度
 6             
 7             if(len<=0|| a ==null){
 8                 return;
 9             }//若是沒有數據,則退出
10             
11             for(int j=0;j<len-1;j++){//查詢第j個最小數
12                 min=j;
13                 for(int i=j+1;i<len;i++){
14                     if(a[min]>a[i]){//若是序列i的數據<序列min處的數據,讓min=較小數的編號
15                         min=i;
16                     }
17                 }
18                 if(min!=j){//有比序列j處更小的數,則交換
19                     int temp=a[j];
20                     a[j]=a[min];
21                     a[min]=temp;
22                 }
23                 
24             }
25             for(int i=0;i<len;i++){//數據輸出
26                 System.out.print(a[i]+" ");
27             }
28         }
相關文章
相關標籤/搜索