Cod sursa(job #418853)
Utilizator | Data | 16 martie 2010 16:09:21 | |
---|---|---|---|
Problema | Sortare prin comparare | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include<cstdio>
using namespace std;
int v[500005],n;
void quick(int st,int dr)
{
if(st<dr)
{
int d=0,i=st,j=dr,aux;
while(i<j)
{
if(a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
d=1-d;
}
i+=d;
j-=1-d;
}
quick(st,i-1);
quick(i+1,dr);
}
}
int main ()
{
freopen("algsort.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
quick(1,n);
freopen("algsort.out","w",stdout);
for(int i=1;i<=n;++i)
printf("%d ",v[i]);
return 0;
}