选择排序

假设有一组数据


数据

选择排序先把第一个数据元素固定(图中的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;
            }

        }

    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容