Pagini recente » Cod sursa (job #1656186) | Cod sursa (job #926943) | Cod sursa (job #1831298) | Cod sursa (job #574842) | Cod sursa (job #256978)
Cod sursa(job #256978)
#include <stdio.h>
int a[500500], n;
void sort(int st,int dr)
{
int i=st,j=dr,sch = a[(st+dr)/2], tmp;
do{
while (a[i] < sch) ++i;
while (a[j] > sch) --j;
if (i<=j)
{
tmp = a[i];
a[i] = a[j];
a[j] = tmp;
++i; --j;
}
} while (i<=j);
if (st<j) sort(st,j);
if (i<dr) sort(i,dr);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d", &n);
for (int i=1;i<=n;++i) scanf("%d", &a[i]);
sort(1,n);
for (int i=1;i<=n;++i) printf("%d ", a[i]);
printf("\n");
return 0;
}