Pagini recente » Cod sursa (job #1533359) | Cod sursa (job #1271024) | Cod sursa (job #145024) | Cod sursa (job #145397) | Cod sursa (job #2722474)
#include <fstream>
#define N 500000
using namespace std;
ifstream fin( "algsort.in" );
ofstream fout( "algsort.out" );
int v[N + 1];
int n;
void quick_sort( int v[], int prim, int ultim ) {
int st = prim, dr = ultim, piv = ( prim + ultim ) / 2, aux;
while ( v[st] < v[piv] )
st ++;
while ( v[dr] > v[piv] )
dr --;
while ( st < dr ) {
aux = v[st];
v[st] = v[dr];
v[dr] = aux;
do
st ++;
while ( v[st] < piv );
do
dr --;
while ( v[dr] > piv );
}
if ( prim < dr )
quick_sort( v, prim, dr );
if ( dr + 1 < ultim )
quick_sort( v, dr + 1, ultim );
}
int main() {
fin >> n;
for ( int i = 1; i <= n; i ++ ) {
fin >> v[i];
}
quick_sort( v, 0, n );
fout << v[1];
for ( int i = 2; i <= n; i ++ )
fout << " " << v[i];
fout << "\n";
return 0;
}