个人技术分享

选择排序

排序的核心是:在未排序的序列中,把未排序第一个元素和未排序的最小元素交换位置。

因此,设计时,显然要设置两重 for 循环

假设未排序的第一个元素称为 a , 未排序的最小元素称为 b

第一重 for 循环控制总轮数和 a 的下标(即控制排序到了哪个元素)
第二重 for 控制找出 b

    private static void selectSort(int[] arr) {
        for (int i = 0; i < arr.length - 1; i++) {
            int min = i;
            for (int j = i + 1; j < arr.length; i++) {
                if (arr[j] < arr[min]) {
                    min = i;
                }
            }
            if (min != i) {
                int temp = arr[min];
                arr[min] = arr[i];
                arr[i] = temp;
            }
        }
    }