Pagini recente » Cod sursa (job #1193515) | Cod sursa (job #1075512) | Cod sursa (job #934173) | Cod sursa (job #1451361) | Cod sursa (job #894385)
Cod sursa(job #894385)
#include <cstdio>
#include <algorithm>
using namespace std;
short int x[500001];
short int n;
void qs(int st, int dr)
{
int min,max,mij;
min=st;
max=dr;
mij=x[(st+dr)/2];
do
{
while(x[min]<mij) min++;
while(x[max]>mij) max--;
if(min<=max)
swap(x[min++],x[max--]);
}while(min<=max);
if(max>st)
qs(st,max);
if(min<dr)
qs(min,dr);
}
void citire()
{
freopen("algsort.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&x[i]);
qs(1,n);
freopen("algsort.out","w",stdout);
for(int i=1;i<=n;++i)
printf("%d ",x[i]);
}
int main()
{
citire();
return 0;
}