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 }