Pagini recente » Cod sursa (job #50825) | Cod sursa (job #295367) | Cod sursa (job #2497502) | Cod sursa (job #1859974) | Cod sursa (job #966682)
Cod sursa(job #966682)
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <ctime>
using namespace std;
int n;
int a[500005];
void qsort( int l, int r )
{
int i = l, j = r, p = a[ l + rand()%(r - l + 1) ];
do
{
while ( a[i] < p )
i++;
while ( a[j] > p )
j--;
if ( i <= j )
{
swap( a[i], a[j] );
i++;
j--;
}
}while( i < j );
if( i < r )
qsort( i, r );
if( j > l )
qsort( l, j );
}
int main()
{
ifstream f("algsort.in");
ofstream g("algsort.out");
srand(time(NULL));
f >> n;
for ( int i = 1; i <= n; i++ )
f >> a[i];
qsort( 1, n );
for ( int i = 1; i <= n; i++ )
g << a[i] << " ";
f.close();
g.close();
}