Pagini recente » Cod sursa (job #1220823) | Cod sursa (job #981860) | Cod sursa (job #1978986) | Cod sursa (job #516878) | Cod sursa (job #1668209)
#include<stdio.h>
using namespace std;
long a[500000],n,x,m;
void schimba(long &a,long &b)
{
long aux=a;
a=b;
b=aux;
}
void div(long s,long d,long &m)
{
int i=s,j=d;
long pi=0,pj=1;
while(i<j)
{
if(a[i]>a[j])
{
schimba(a[i],a[j]);
schimba(pi,pj);
}
i=i+pi;
j=j-pj;
}
m=i;
}
void Quick_sort(long s,long d)
{
int i;
if(s<d)
{
div(s,d,m);
Quick_sort(s,m-1);
Quick_sort(m+1,d);
}
}
int main ()
{
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int i;
scanf("%d",&n);
for(i=1;i<n+1;i++)
scanf("%d",&a[i]);
Quick_sort(1,n);
for(i=1; i<n+1; i++)
printf("%d ",a[i]);
return 0;
}