陣列的選擇排序方法
阿新 • • 發佈:2022-04-20
public static void main(String[] args) { //選擇排序 int[] arr = {5, 4, 3, 2, 1,6}; //方式1 paiXu(arr); //方式2 // selectSort(arr); for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static void paiXu(int[] arr){ for (int i = 0; i < arr.length; i++) { int minIndex = i; for (int j = i+1; j < arr.length; j++) { minIndex = arr[j]<arr[minIndex] ? j:minIndex; } //一輪過後最小數的位置是minIndex //將minIndex位置數字和i位置數字替換 tiHuan(arr,i,minIndex); } }public static void tiHuan(int [] arr,int i,int j){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } public static void selectSort(int[] arr) { for (int i = 0; i < arr.length; i++) { int min = i; for (int j = i + 1; j < arr.length; j++) {if (arr[j] < arr[min]) { min = j; } } if (min != i) { int temp = arr[i]; arr[i] = arr[min]; arr[min] = temp; } } }
結果