Pagini recente » Cod sursa (job #758879) | Cod sursa (job #744766) | Cod sursa (job #2183531) | Cod sursa (job #498001) | Cod sursa (job #240764)
Cod sursa(job #240764)
# include <stdio.h>
# define nmax 500001
int i,N;
long a[nmax];
void quick(int st, int dr)
{ int i = st-1, j = dr;
long v = a[dr],aux;
if (dr <= st) return;
for (;;)
{
while (a[++i] < v) ;
while (v < a[--j]) if (j == st) break;
if (i >= j) break;
aux=a[i];a[i]=a[j]; a[j]=aux;
}
aux=a[i];a[i]=a[dr]; a[dr]=aux;
quick(st, i-1);
quick(i+1, dr);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&N);
for (i=1;i<=N;i++)
scanf("%d ",&a[i]);
quick(1,N);
for (i=1;i<=N;i++)
printf("%ld ",a[i]);
return 0;
}