选择排序

    /**
     * 选择排序
     * 时间复杂度是 O(n^2)
     * @param arr
     */
    private static void selectSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i;
            int min = arr[i];
            for (int j = i + 1; j < arr.length; j++) {
                // 说明假定的最小值,并不是最小
                if (min > arr[j]) {
                    // 重置min
                    min = arr[j];
                    // 重置minIndex
                    minIndex = j;
                }
            }
            // 将最小值,放在arr[0], 即交换
            if (minIndex != i) {
                arr[minIndex] = arr[i];
                arr[i] = min;
            }
        }
    }
posted @ 2020-07-28 14:45  叮叮叮叮叮叮当  阅读(53)  评论(0编辑  收藏  举报