Pagini recente » Cod sursa (job #595442) | Cod sursa (job #2886684) | Cod sursa (job #2358247) | Cod sursa (job #2306098) | Cod sursa (job #615189)
Cod sursa(job #615189)
#include <cstdio>
#define Nmax 501010
#define file_in "algsort.in"
#define file_out "algsort.out"
int N,V[Nmax],i,min,j,k;
void qsort(int left, int right){
int i=left;
int j=right;
int middle=V[(left+right)/2];
int aux;
do
{
while((V[i]<middle) && (i<N)) ++i;
while((V[j]>middle) && (j>1)) --j;
if (i<=j){
aux=V[i];
V[i]=V[j];
V[j]=aux;
++i;
--j;
}
}
while(i<=j);
if (left<j)
qsort(left,j);
if (i<right)
qsort(i,right);
}
int main(){
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%d", &N);
for (i=1;i<=N;++i)
scanf("%d", &V[i]);
qsort(1,N);
for (i=1;i<=N;++i) printf("%d ", V[i]);
return 0;
}