#include <stdio.h>
void sort(intpint n) {//定义了一个函数,利用指针和冒泡排序的方法对数组进行排序
    int i, j;
    int swap;
    for (i = 0; i < n - 1; i++) {//确定需要排序的趟数
        int judge = 0;//定义这个judge是为了提高排序的效率
        int *t = p;//定义一个中间变量,用来存放p指针初始地址
        for (j = 0; j < n - 1 - i; j++) {//每一趟需要比较的次数
            if (*p > *(p + 1)) {//如果数组前一项比后一项大,则交换这两项
                swap = *p;
                *p = *(p + 1);
                *(p + 1) = swap;
                judge = 1;//当judge为1时,说明排序还没完成
            }p++;
        }p = t;//进行一次比较之后,需要将p指针的地址还原,这样我们才可以从数组的第一第二项开始进行比较
        if (judge == 0) {//如果judge为0,说明排序已经完成,终结循环,排序完毕
            break;
        }
    }
}
int main() {
    int n;
    int i;
    scanf("%d", &n);
    int a[100] = { 0 };//定义一个大点的数组,防止溢出
    for (i = 0; i < n; i++) {
         scanf("%d", &a[i]);
}
    sort(a, n);
    for (i = 0; i < n; i++) {
        printf("%d "a[i]);
    }
    return 0;
}