Pagini recente » Cod sursa (job #669349) | Cod sursa (job #810390) | Cod sursa (job #674606) | Cod sursa (job #972606) | Cod sursa (job #495444)
Cod sursa(job #495444)
#include <stdio.h>
const int maxn=500001;
long int v[maxn];
int i,N;
int pivot(int st, int dr)
{
int aux,di,dj;
di=0; dj=1;
while(st<dr)
{
if(v[st]>v[dr])
{
aux=v[st];
v[st]=v[dr];
v[dr]=aux;
aux=di;
di=dj;
dj=aux;
}
st=st+di; dr=dr-dj;
}
return st;
}
void qsort(int st, int dr)
{
if(st<dr)
{
int p=pivot(st,dr);
qsort(st,p-1);
qsort(p+1,dr);
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&N);
for(i=1;i<=N;i++) scanf("%ld",&v[i]);
qsort(1,N);
for(i=1;i<=N;i++) printf("%ld ",v[i]);
}