选择排序

2020-02-27  本文已影响0人  桑鱼nicoo

选择排序的思想,每次从剩余元素中最小的元素与当前元素交换,第一次从arr[0]arr[n-1]中选取最小值,与arr[0]交换;第二次从arr[1]arr[n-1]中选取最小值,与arr[1]交换;第三次从arr[2]arr[n-1]中选取最小值,与arr[1]交换;第i次从arr[i]arr[n-1]中选取最小值,与arr[i]交换;

public class MyTest03 {
    public static int[] mySort(int[] arr) {
        for (int i = 0; i < arr.length ; i++) {
            int minIndex = i;
            int min = arr[i];
            for (int j = i + 1; j < arr.length; j++) {
                if (min > arr[j]) {
                    min = arr[j];
                    minIndex = j;
                }
            }
            if (minIndex != i) {
                arr[minIndex] = arr[i];
                arr[i] = min;
            }
            System.out.println("第" + (i + 1) + "趟排序");
            System.out.println(Arrays.toString(arr));
        }
        return arr;
    }
    public static void main(String[] args) {
        int[] arr = {3, 5, 7, 2, 8, 1};
        System.out.println("最终排序结果: " + Arrays.toString(mySort(arr)));
    }
}
上一篇 下一篇

猜你喜欢

热点阅读