选择排序

作者: 趁年轻多奋斗 | 来源:发表于2019-04-28 13:59 被阅读0次
    public static void main(String[] args) {
        int[] arr = new int[]{1,5,10,100,25,478,412,617,3,5,1,9,5,1};
        Main.slect(arr);
        System.out.println(Arrays.toString(arr));
    // write your code here
    }
    
    private static void slect(int[] arr) {
        //需要遍历的所有数
        for (int i= 0;i<arr.length;i++){
            //先以当前的数标记为最小
            int min = i ;
            //以当前的下标为开始,遍历比较后面的数
            for (int j = i+1;j<arr.length;j++){
                //判断当前的标记最小的是否比要进行比较的数小
                if (arr[min]>arr[j]){
                    //重新标记最小的位置
                    min = j;
                }
            }
            //一次比较遍历结束,找到最小标记。当不为原来标记最小时,需要进行替换
            if (i!=min){
                int temp = arr[i];
                arr[i] = arr[min];
                arr[min] = temp;
            }
        }
    }
    

    相关文章

      网友评论

        本文标题:选择排序

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