Pagini recente » Cod sursa (job #983380) | Cod sursa (job #1120899) | Cod sursa (job #2892676) | Cod sursa (job #2487018) | Cod sursa (job #296249)
Cod sursa(job #296249)
# include <stdio.h>
int a[500005],i,n,aux;
void poz (int i,int j,int &k)
{
int i1=0,j1=-1,x;
x=(i+j)/2;
aux=a[i];
a[i]=a[x];
a[x]=aux;
while (i!=j)
{
if (a[i]>a[j])
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
aux=i1;
i1=-j1;
j1=-aux;
}
i=i+i1;
j=j+j1;
}
k=i;
}
void quick (int li,int ls)
{
int k;
if (li<ls)
{
poz (li,ls,k);
quick (li,k-1);
quick (k+1,ls);
}
}
int main ()
{
freopen ("algsort.in","r",stdin);
freopen ("algsort.out","w",stdout);
scanf ("%i",&n);
for (i=1;i<=n;i++)
scanf ("%i",&a[i]);
quick (1,n);
for (i=1;i<=n;i++)
printf ("%i ",a[i]);
return 0;
}