Pagini recente » Cod sursa (job #2270864) | Cod sursa (job #154848) | Cod sursa (job #781133) | Cod sursa (job #1639031) | Cod sursa (job #2669876)
#include <stdio.h>
void sort( int v[], int bo, int eo ) {
int c, b = bo, e = eo, pivot = v[(bo + eo) / 2];
while ( v[b] < pivot )
b++;
while ( v[e] > pivot )
e--;
while ( b < e ) {
c = v[e];
v[e] = v[b];
v[b] = c;
do
b++;
while ( v[b] < pivot );
do
e--;
while ( v[e] > pivot );
}
if ( bo < e )
sort(v, bo, e );
if ( e + 1 < eo )
sort(v, e + 1, eo );
}
int v[500000];
int main() {
FILE *fin, *fout;
fin = fopen( "algsort.in", "r" );
fout = fopen( "algsort.out", "w" );
int n, i;
fscanf( fin, "%d", &n );
for ( i = 0; i < n; i++ )
fscanf( fin, "%d", &v[i] );
sort( v, 0, n - 1 );
for ( i = 0; i < n; i++ )
fprintf( fout, "%d ", v[i] );
return 0;
}