Pagini recente » Cod sursa (job #2422620) | Cod sursa (job #1484716) | Cod sursa (job #1987334) | Cod sursa (job #903015) | Cod sursa (job #2624480)
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
#define Nr 500001
int N, V[Nr], Temp[Nr];
void MergeSort(int left, int right)
{
int m = (left + right)/2;
int i = left, j = m+1, k = left;
if( left == right )
return;
MergeSort( left, m );
MergeSort( m + 1, right );
while( i <= m || j <= right )
if( j > right || (i <= m && V[i] < V[j]) )
Temp[ k++ ] = V[ i++ ];
else
Temp[ k++ ] = V[ j++ ];
for( k = left; k <= right; k++ )
V[k] = Temp[k];
}
int main()
{
int i;
in>>N;
for( i = 1; i <= N; i++ )
in>>V[i];
MergeSort( 1, N );
for( i = 1; i <= N; i++ )
out<<V[i]<<" ";
return 0;
}