Pagini recente » Cod sursa (job #871813) | Cod sursa (job #1116266) | Cod sursa (job #1390762) | Cod sursa (job #2598180) | Cod sursa (job #899011)
Cod sursa(job #899011)
#include <iostream>
#include <cstdio>
using namespace std;
int x[500001];
void qs(int st,int dr)
{
int i,j,mij;
i=st;
j=dr;
mij=x[(st+dr)/2];
do
{
while(x[i]<mij) i++;
while(x[j]>mij) j--;
if(i<=j)
{
int aux=x[i];
x[i]=x[j];
x[j]=aux;
i++;
j--;
}
}while(i<=j);
if(st<j)
qs(st,j);
if(dr>i)
qs(i,dr);
}
int main()
{
int i,n;
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%d",&x[i]);
qs(1,n);
for(i=1;i<=n;i++)
printf("%d ",x[i]);
return 0;
}