day7.21

题目:数列排列

问题描述:

给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=20000

输入格式:
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于20000。

输出格式:
输出一行,按从小到大的顺序输出排序后的数列。

样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9

思路:

  • 输入需要输入的数字的个数,再输入相应的数字,我们将输入的数字用数组存放,方便后面的排序;
  • 运用两个for语句进行排列,定义一个中间变量,如果第一个数字比第二个数字大,那么用中间变量使其交换位置,后面以此类推;
  • 最后输出结果检查是否正确。

代码:

public class shulie {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] a = new int[n];
        for(int i =0;i<n;i++){
            a[i]=sc.nextInt();
        }
        int b= 0;
        for(int i =0;i<n-1;i++){
            for(int j= i+1;j<n;j++){
                if(a[i]>a[j]){
                    b=a[i];
                    a[i] =a[j];
                    a[j] = b;
                }
            }
        }
        for(int i =0;i<n;i++){
            System.out.printf("%d ",a[i]);
        }
    }
}
posted @ 2021-07-21 22:10  头秃准备  阅读(63)  评论(0)    收藏  举报