数组的选择排序方法

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

结果

 

posted @ 2022-04-20 18:52  Java仲达  阅读(57)  评论(0)    收藏  举报