Pagini recente » Cod sursa (job #1627622) | Cod sursa (job #1505572) | Cod sursa (job #1068103) | Cod sursa (job #431734) | Cod sursa (job #656204)
Cod sursa(job #656204)
#include <stdio.h>
int n , v[500005];
void create()
{
freopen("algsort.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
}
void interschimba(int &a , int &b)
{
a=a+b;
b=a-b;
a=a-b;
}
void qsort(int s,int p)
{
if(s<p)
{int m,i=s,j=p,si=0,sj=1;
while(i<j)
{
if(v[i]>v[j]){interschimba(v[i],v[j]);interschimba(si,sj);}
i=i+si;j=j-sj;
}
m=i;
qsort(s,m-1);
qsort(m+1,p);
}
}
void write()
{
freopen("algsort.out","w",stdout);
for(int i=1;i<=n;i++)
printf("%d ",v[i]);
}
int main()
{
create();
qsort(1,n);
write();
}