1. 程式人生 > 其它 >陣列的選擇排序方法

陣列的選擇排序方法

    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; } } }

結果