1 #include
2 #include
3 #include <string>
4
5 using namespace std;
6 int num[100010];
7
8 void QuickSort(int num[], int l, int r) {
9 if (l >= r) {
10 return;
11 }
12 int x = num[(l + r) >> 1], i = l - 1, j = r + 1;
13 while (i < j) {
14 do i++; while (num[i] < x);
15 do j--; while (num[j] > x);
16 if (i < j) swap(num[i], num[j]);
17 }
18 QuickSort(num, l, j);
19 QuickSort(num, j + 1, r);
20 }
21
22 int main() {
23 int n;
24 scanf("%d", &n);
25 for (int i = 0; i < n; i++)
26 scanf("%d", &num[i]);
27 QuickSort(num, 0, n - 1);
28 for (int i = 0; i < n; i++)
29 printf("%d ", num[i]);
30 return 0;
31 }