// main只负责处理输入和输出,
// 按升序排序和按降序排序各自单独写一个函数,放在main的外面
#include <stdio.h>
// 按升序排序
void BubbleSortAscend(int* arr, int len) {
for (int i = 1; i <= len - 1; i++) {
for (int j = 0; j <= len - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
// 按降序排序
void BubbleSortDecend(int* arr, int len) {
for (int i = 1; i <= len - 1; i++) {
for (int j = 0; j <= len - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main() {
// 读入数组长度
int n;
scanf("%d", &n);
// 读入数组
int arr[n];
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
// 读入升序还是降序
int DeOrAs;
scanf("%d", &DeOrAs);
// 进行排序
if (DeOrAs == 1)
BubbleSortDecend(arr, n);
else
BubbleSortAscend(arr, n);
// 排序结束,可以输出
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}