Pagini recente » Cod sursa (job #2243917) | Cod sursa (job #922820) | Cod sursa (job #253257) | Cod sursa (job #3243042) | Cod sursa (job #2722485)
#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 = v[( prim + ultim ) / 2], aux;
while ( v[st] < piv )
st ++;
while ( v[dr] > 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, 1, n );
fout << v[1];
for ( int i = 2; i <= n; i ++ )
fout << " " << v[i];
fout << "\n";
return 0;
}