#include <stdio.h>
void sort(int* p, int 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;
}