选择排序

2019-07-18  本文已影响0人  追寻米K

假设有一组数据


数据

选择排序先把第一个数据元素固定(图中的5),然后在后面的数组中找到最小的一个数据(图中的1),然后把1和5交换位置。
然后固定第二个元素的位子(9),继续在后面数据中找最小的(3),然后互相交换位置,依次循环,实现排序。

public void Test(){
        int[] arry = {5, 9, 3, 4, 1};
        for (int i : arry) {
            System.out.print(i + "");
        }
        System.out.println();
        selectSort(arry);
        for (int i : arry) {
            System.out.print(i + "");
        }
    }
//选择排序
    public static void selectSort(int[] array){
        //array.length-1 是为了 最后一个数不用比
        for (int i = 0;i<array.length-1;i++) {
            int index = i;
            //i+1 是为了减去自己跟自己比
            for (int j = i+1; j < array.length; j++) {
                if (array[j] < array[index]) {
                    index = j;
                }
            }
            if (index !=i){
                //找到最小值
                int temp = array[i];
                array[i] = array[index];
                array[index] = temp;
            }

        }

    }
上一篇下一篇

猜你喜欢

热点阅读