Pagini recente » Cod sursa (job #2046195) | Cod sursa (job #1964524) | Cod sursa (job #300745) | Cod sursa (job #2823792) | Cod sursa (job #241636)
Cod sursa(job #241636)
#include <stdio.h>
FILE *f,*g;
long n,i,a[500001];
void quicksort(long st, long dr)
{
long i,j,p;
i=st; j=dr; p=a[(st+dr)/2];
if (i>=j)
return;
while (i<=j)
{
while (a[i]<p) i++;
while (a[j]>p) j--;
if (i<=j)
{
a[0]=a[i];
a[i]=a[j];
a[j]=a[0];
i++;
j--;
}
}
if (st<j) quicksort(st,j);
if (dr>i) quicksort(i,dr);
}
int main()
{
freopen("algsort.in","r", stdin);
freopen("algsort.out","w", stdout);
scanf("%ld", &n);
for (i=1;i<=n;i++)
scanf("%ld", &a[i]);
quicksort(1,n);
for (i=1;i<=n;i++)
printf("%ld ", a[i]);
return 0;
}