package com.xjc;
import java.util.Scanner;
public class ShuLiePaiXu {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。
// 获取数列长度
Scanner input = new Scanner(System.in);
int n = input.nextInt();
// 创建一个数组a,限制长度为n
int a[] = new int[n];
// 用for循环实现多次从控制台输入,完成为数组中的每一位赋值
for (int i = 0; i < a.length; i++) {
a[i] = input.nextInt();
}
// 最外层for循环实现数组里的每一个数都能完成比较
for (int j = 0; j < a.length - 1; j++) {
// 在数组a里,第一个数用a[0]表示,第二个数用a[1]表示,一次类推
// 在下面这个for循环中,i=j+1第一次循环变成i=1,
// 把i=1带入if语句里得到a[1]<a[0],实现第二个数和第一个数的比较。
// 如果a[1]<a[0],则程序执行if语句里的条件,实现a[i]变成a[j],a[j]变成a[i]。
// 两者互换后原来两者比较较小的那个数,替代if语句的条件中的a[j],继续与下一个数比较
// 内存for循环完成后,得到一个最小值排在第一位的数组
// 返回外层for循环,j++一次,j变成1,
// 再带入内层for循环,从第三位数开始依次和第二位数比较,第一位数不再参与比较
// 第二次内层for循环完成循环后,会把本次循环得到的最小值,放在所有参与了本次比较的数字的最前面
// 再返回外层for循环,开始第三次循环,,,,依次类推。。。
for (int i = j + 1; i < a.length; i++) {
if (a[i] < a[j]) {
int temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
// 直至外层for循环完成所有循环,这个时候得到的数组就是从小到大排列的数组了
// 再用for循环从a[0]开始依次输出数组
for (int j = 0; j < a.length; j++) {
System.out.print(a[j] + " ");
}
}
}