标签搜索

java数组排序--选择排序法

ATAO
2022-01-20 / 0 评论 / 19 阅读 / 正在检测是否收录...

思路:从头到尾依次和最后一位比较,把较大的值交换给最后一位,一轮循环后,最后一位即最大值,继续从头到尾和倒数第二位比较...

public class Demo{
    public static void main(String[] args){
        //生成10个随机数,放到数组中
        int[] a = new int[10];
        for(int i = 0; i < a.length; i++){
            a[i] = (int)(Math.random() * (50 - 1 + 1) + 1);
        }
        //输出这10个随机数
        for(int i = 0; i < a.length; i++){
            System.out.println(a[i]);
        }
        //数组排序
        for(int i = a.length -1 ; i > 0; i--){        //大致思路:双层循环,外层循环从数组尾开始,
            for(int j = 0; j < i; j++){                //内层循环从头到尾,依次和最后一位比较,把大值
                if(a[j] > a[i]){                    //给到结尾,内层一轮循环后,最后一位即最大值,
                    int t = a[j];                    //开始第二轮外层循环,结束后,倒数第二位即次大值
                    a[j] = a[i];
                    a[i] = t;
                }
            }
        }
        //输出排序后的10个随机数
        System.out.println();
        for(int i = 0; i < a.length; i++){
            System.out.println(a[i]);
        }
    }
}
0

评论 (0)

取消