数组的选择排序

题目:对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;
                }
            }
        }
    }
}

 

posted @ 2019-05-30 14:47  何茫然zju  阅读(267)  评论(0编辑  收藏  举报