Cod sursa(job #284624)
Utilizator | Eugenie Daniel Posdarascu eudanip | Data | 21 martie 2009 20:43:02 |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
long v[500001],aux,n,i;
void quick (long x,long y)
{
long i,j;
if(x>=y)
return ;
i=x-1;
for(j=x;j<=y;j++)
if(v[j]<=v[y])
{
aux=v[++i];
v[i]=v[j];
v[j]=aux;
}
quick(x,i-1);
quick(i+1,y);
}
int main ()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%ld",&n);
for(i=1;i<=n;i++)
scanf("%ld",&v[i]);
quick(1,n);
for(i=1;i<=n;i++)
printf("%ld " , v[i]);
return 0;
}