1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include <iostream> using namespace std;
const int N = 1e6 + 10;
int q[N];
int n;
void quick_sort(int l, int r) { if(l>=r) return; int i = l-1, j = r+1; int p = q[(l+r)/2]; while(i<j) { while(q[++i]<p); while(q[--j]>p); if(i<j) swap(q[i], q[j]); } quick_sort(l, j); quick_sort(j+1, r); }
int main() { scanf("%d", &n); for(int i=0;i<n;i++) scanf("%d", &q[i]); quick_sort(0, n-1); for(int i=0;i<n;i++) printf("%d ", q[i]); return 0; }
|