数组的选择排序

题目:对10个数进行排序

程序分析:可以利用选择法,

                 即从后9个比较过程中,选择一个最小的与第一个元素交换,

                 以此类推,即用第二个元素与后8个进行比较,并进行交换。

public class 第二十八题数组的选择排序 {
    public static void main(String[] args) {
        /*
         * 思路:从后面的数组中选择出最小的一个, 放到未排序数组的最左边
         */
        int a[] = new int[] { 1, 3, 9, 7, 4, -1, 2, 0, -10, 20 };
        selectionSort(a);
        //打印数组
        for (int m : a) {
            System.out.print(m + " ");
        }
    }

    // 选择排序
    public static void selectionSort(int[] arr) {
        int min;
        // 遍历数组
        for (int i = 0; i < arr.length; i++) {
            min = arr[i];
            // 从未排序的数组中找出最小值,放到arr[i]中
            for (int j = i; j < arr.length; j++) {
                if (arr[j] < min) {
                    min = arr[j];
                    arr[j] = arr[i];
                    arr[i] = min;
                }
            }
        }
    }
}
原文地址:https://www.cnblogs.com/zjulanjian/p/10949457.html