【算法】选择排序

什么是选择排序?

选择排序就是从待排序的序列中找出最小(大)元素的数据,放到首位,然后再从待排序的序列中找到最小(大)的元素排到已经排序序列的后面,依次类推,知道所有待排序序列全都排序好。

算法

public class SelectionSort {

    public static void main(String[] args) {
        int[] arr = new int[]{1, 8,3,6,5,4,6,1,0};

        for (int i = 0; i < arr.length - 1; i++) {
            int minIndex = i;
            for (int j = i + 1; j < arr.length ; j++) {
                minIndex = arr[j] < arr[i]? j:minIndex;
            }

            // 交换最小数和arr[i]
            int temp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = temp;
        }

        System.out.println(Arrays.toString(arr));
    }
}

Tips:
遍历数组,每次找出最小数的下标,然后把下标和当前排序数交换

原文地址:https://www.cnblogs.com/amberbar/p/15704994.html