题目:数列排列
问题描述:
给定一个长度为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]);
}
}
}