Pagini recente » Cod sursa (job #1093857) | Cod sursa (job #2086845) | Cod sursa (job #549769) | Cod sursa (job #2541743) | Cod sursa (job #325935)
Cod sursa(job #325935)
#include<iostream.h>
#include<stdio.h>
long long n,i,a[500001],st,dr;
void qsort(long long st,long long dr)
{
long long i=st,j=dr,mij=a[(st+dr)/2];
long long aux;
while(i<=j)
{
while(i<=j&&a[i]<mij) i++;
while(i<=j&&a[j]>mij)j--;
if(i<=j)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
i++;
j--;
}
if(i<dr) qsort(i,dr);
if(st<j) qsort(st,j);
}
}
int main()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
scanf("%lld\n",&n);
for(i=1;i<=n;i++)
scanf("%lld ",&a[i]);
qsort(1,n);
for(i=1;i<=n;i++)
printf("%lld ",a[i]);
return 0;
}