Pagini recente » Cod sursa (job #1282282) | Cod sursa (job #2303265) | Cod sursa (job #56045) | Cod sursa (job #324356) | Cod sursa (job #1588799)
#include <fstream>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n, v[500001],x;
void svap( int &a, int &b )
{
int x = a;
a = b;
b = x;
return;
}
void quicksort( int l, int r )
{
if( l >= r )
return;
int p = ( l + ( r - l ) / 2 );
int z = v[ p ];
int k = r;
for( int i = l ; i <= k ; i++ )
{
if( v[ i ] > z )
{
if( k == p )
p = i;
x = v[ i ];
v[ i ] = v[ k ];
v[ k ] = x;
--k;
i--;
}
}
if( v[ k ] <= v[ p ] )
svap( v[ k ] , v[ p ] );
quicksort( l , k - 1 );
quicksort( k + 1 , r );
}
int main()
{
fin>>n;
for( int i = 1; i <= n ; i++ )
{
fin>>v[ i ];
}
quicksort( 1 , n );
for( int i = 1 ; i <= n ; i++ )
{
fout<<v[ i ]<<' ';
}
return 0;
}