voidqs(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, mid = q[l + r >> 1]; while (i < j) { do i++; while (q[i] < mid); do j--; while (q[j] > mid); if (i < j) swap(q[i], q[j]); } qs(q, l, j), qs(q, j + 1, r); }
intmain(){ int n; cin >> n; for (int i = 0; i < n; i++) cin >> q[i]; qs(q, 0, n - 1); for (int i = 0; i < n; i++) cout << q[i] << " "; return0; } // ------------------------------------------------------------- #include<bits/stdc++.h> usingnamespace std; constint maxn = 1e5 + 10; int q[maxn];
voidqs(int q[], int l, int r){ if (l >= r) return; int i = l - 1, j = r + 1, mid = q[l + r + 1 >> 1]; while (i < j) { do i++; while (q[i] < mid); do j--; while (q[j] > mid); if (i < j) swap(q[i], q[j]); } qs(q, l, i - 1), qs(q, i, r); }
intmain(){ int n; cin >> n; for (int i = 0; i < n; i++) cin >> q[i]; qs(q, 0, n - 1); for (int i = 0; i < n; i++) cout << q[i] << " "; return0; }