Pagini recente » Cod sursa (job #1572854) | Cod sursa (job #428916) | Cod sursa (job #2032093) | Cod sursa (job #1206742) | Cod sursa (job #1822990)
#include <cstdio>
#include <algorithm>
#define NX 500010
using namespace std;
int N, A[NX], B[NX];
void sortare(int inf, int sup) {
int x, i, j, t;
i = inf;
j = sup;
x = A[(i + j) / 2];
do {
while ( (i < sup) && (A[i] < x) ) i++;
while ( (j > inf) &&(A[j] > x) ) j--;
if ( i<= j ) {
t = A[i];
A[i] = A[j];
A[j] = t;
i++;
j--;
}
} while ( i <= j );
if ( inf < j ) sortare(inf, j);
if ( i < sup ) sortare(i, sup);
}
int main() {
int i;
freopen( "algsort.in", "r", stdin );
freopen( "algsort.out", "w", stdout );
scanf( "%d", &N );
for( i = 1; i <= N; i++ )
scanf( "%d", &A[i] );
sortare(1 , N);
for( i = 1; i <= N; i++ )
printf( "%d ", A[i] );
return 0;
}