Pagini recente » Cod sursa (job #169165) | Cod sursa (job #2727273) | Cod sursa (job #2452902) | Cod sursa (job #728644) | Cod sursa (job #870273)
Cod sursa(job #870273)
#include<stdio.h>
int n,x[500002],i;
int sel(int st, int dr)
{
int i,di,j,dj,aux;
i=st; j=dr;
di=+1; dj=0;
while (i<j)
{
if(x[i]>x[j])
{
aux=x[i];
x[i]=x[j];
x[j]=aux;
di=1-di;
dj=1-dj;
}
i=i+di;
j=j-dj;
}
return i;
}
void qs(int st, int dr)
{
int m;
if(st<dr)
{
m=sel(st,dr);
qs(st,m-1);
qs(m+1,dr);
}
}
void tip()
{
int i;
for (i=1;i<=n;i++)
printf("%d ",x[i]);
}
int main()
{
freopen("algsort.in","rt",stdin);
freopen("algsort.out","wt",stdout);
scanf("%d",&n);
for (i=1;i<=n;i++) scanf("%d",x+i);
qs(1,n);
tip();
fclose(stdout);
fclose(stdin);
return 0;
}