Pagini recente » Cod sursa (job #268570) | Cod sursa (job #188645) | Cod sursa (job #2932546) | Cod sursa (job #2138842) | Cod sursa (job #2274864)
#include <cstdio>
#include <iostream>
using namespace std;
#define NMAX 500001
void quick_sort( int *V, int st, int dr ) {
if ( st >= dr ) return ;
printf( "%d %d\n", st, dr );
int i, j, piv;
i = st; j = dr - 1; piv = dr;
while ( i <= j ) {
while ( V[ i ] < V[ piv ] ) i++;
while ( V[ j ] >= V[ piv ] ) j--;
if ( i <= j ) {
swap( V[ i ], V[ j ] );
}
}
swap( V[ i ], V[ piv ] );
quick_sort( V, st, piv - 1 );
quick_sort( V, piv + 1, dr );
}
int main () {
freopen( "algsort.in", "r", stdin );
freopen( "algsort.out", "w", stdin );
int n, i;
int V[ NMAX ] = { 0 };
scanf( "%d", &n );
for ( i = 1; i <= n; ++i ) {
scanf( "%d", &V[ i ] );
}
quick_sort( V, 1, n );
for ( i = 1; i <= n; ++i ) printf( "%d ", V[ i ] );
return 0;
}