Pagini recente » Cod sursa (job #1946486) | Cod sursa (job #2671405) | Cod sursa (job #845505) | Cod sursa (job #683562) | Cod sursa (job #260782)
Cod sursa(job #260782)
#include <cstdio>
int a[500001];
int n;
inline void swap(int &a, int &b)
{
int t=a;
a=b;
b=t;
}
inline void quick(int l, int r)
{
if(l >= r) return;
int i=l, j=r, v=a[(i+j)>>1];
do
{
while(a[i] < v) ++i;
while(a[j] > v) --j;
if(i <= j) swap(a[i++], a[j--]);
}while(i <= j);
quick(l, i-1);
quick(i,r);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d\n", &n);
int i;
for(i=1; i <= n; ++i) scanf("%d ", &a[i]);
quick(1,n);
for(i=1; i <= n; ++i) printf("%d ", a[i]);
return 0;
}