美文网首页
选择排序

选择排序

作者: 追寻米K | 来源:发表于2019-07-18 15:49 被阅读0次

    假设有一组数据


    数据

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

    相关文章

      网友评论

          本文标题:选择排序

          本文链接:https://www.haomeiwen.com/subject/eoyngqtx.html