Pagini recente » Cod sursa (job #2203262) | Cod sursa (job #1916520) | Cod sursa (job #1872613) | Cod sursa (job #2584730) | Cod sursa (job #370877)
Cod sursa(job #370877)
#include<stdio.h>
int n,v[500000];
inline void schimb(int a, int b)
{
int aux;
aux = b;
b= a;
a = aux;
}
int partitie(int st, int dr)
{
int poz = st,piv = v[dr];
for(int i = st; i < dr;++i)
if(v[i] < piv)
schimb(v[i],v[poz++]);
schimb(v[poz],v[dr]);
return poz;
}
void sort(int st, int dr)
{
if(st >= dr)
return ;
int p = partitie(st,dr);
sort(st,p-1);
sort(p+1,dr);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
sort(1,n);
for(int i = 1;i<=n;i++)
printf("%d ",v[i]);
return 0;
}