java經典算法之選擇排序

 1 /**
 2   *選擇排序(當前值與數組每一個值進行比較)
 3   */
 4 public class Select  
 5 {
 6     public static void main(String[] args) 
 7     {
 8         simpleSelect();
 9     }
10     public static void simpleSelect(){
11 
12         int[] arr = new int[]{80,15,31,20,59};
13         int minIndex;    //記錄最小值的下標
14 
15         for(int i=0;i<arr.length;i++){
16             minIndex = i;    //從數組第一個數開始比較
17             for(int j=i+1;j<arr.length-1;j++){
18                 if(arr[j]<arr[minIndex]){    //此時j=i+1;minIndex=i
19                     minIndex = j;            //若是後一個比前一個小,記錄下標,將下標j賦minIndex
20                 }                            //最終獲得最小值的下標
21             }
22             //內層一次循環結束獲得當前最小值
23             int temp = arr[i];    //建立臨時變量,交換值
24             arr[i] = arr[minIndex];
25             arr[minIndex] = temp;
26         }
27 
28         //獲得排序後的數組,遍歷輸出
29         for(int p=0;p<arr.length;p++){
30             System.out.println(arr[p]);
31         }
32      }
33 }
相關文章
相關標籤/搜索