Pagini recente » Cod sursa (job #2483921) | Cod sursa (job #1085658) | Cod sursa (job #415137) | Cod sursa (job #1769285) | Cod sursa (job #252334)
Cod sursa(job #252334)
#include <stdio.h>
int a[500010];
int n;
int k=0;
void poz (int li,int ls,int &k)
{
int i=li,j=ls,i1=0,j1=-1,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)
{
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 ("%d ",&n);
for (int i=1;i<=n;i++)
scanf ("%d ",&a[i]);
quick(1,n);
for (int i=1;i<=n;i++)
printf("%d ",a[i]);
printf("\n");
return 0;
}