Cod sursa(job #296222)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 4 aprilie 2009 14:43:41
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
# include <stdio.h>
int a[500005],i,n,k,aux;
void poz (int i,int j)
{
int i1=0,j1=-1;
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)
{

if (li<ls)
{
poz (li,ls);
quick (li,k);
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;
}