Pagini recente » Cod sursa (job #168444) | Cod sursa (job #2005163) | Cod sursa (job #2281679) | Cod sursa (job #565898) | Cod sursa (job #1718679)
#include <bits/stdc++.h>
using namespace std;
const int NMAX = 500005;
int v[NMAX];
void quick_sort(int st, int dr) {
int b = st,
e = dr,
p = v[rand()%(dr-st+1)+st];
while(b<=e) {
while(v[b]<p) b++;
while(v[e]>p) e--;
if(b<=e) {
swap(v[b], v[e]);
b++;
e--;
}
}
if(b<dr) quick_sort(b, dr);
if(e>st) quick_sort(st, e);
}
int main(void) {
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
int n;
scanf("%d",&n);
for(int i=1; i<=n; ++i)
scanf("%d",&v[i]);
srand(time(NULL));
quick_sort(1, n);
for(int i=1; i<=n; ++i)
printf("%d ",v[i]);
printf("\n");
fclose(stdin);
fclose(stdout);
return 0;
}