Pagini recente » Cod sursa (job #1481827) | Cei mai harnici utilizatori infoarena | Rating Iasmina Gruicin (iasmina_gruicin) | Cod sursa (job #504722) | Cod sursa (job #1491976)
#include<cstdio>
#include<algorithm>
using namespace std;
int v[100005];
void sor(int st,int fi)
{
if(st>=fi)
return ;
int in,sf,po,x,w,i;
in=st;
sf=fi;
po=rand();
po=po%(fi-st+1);
x=v[st+po];
while(in<sf)
{
while(v[in]<x && in<sf)
in++;
while(v[sf]>x && in<sf)
sf--;
if(in<sf)
{
w=v[in];
v[in]=v[sf];
v[sf]=w;
}
in++;
sf--;
}
sor(st,in-1);sor(in,fi);
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int n,i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&v[i]);
sor(1,n);
for(i=1;i<=n;i++)
printf("%d ",v[i]);
return 0;
}