Pagini recente » Cod sursa (job #3353914) | Cod sursa (job #3320397) | Cod sursa (job #2014561) | Cod sursa (job #2158561) | Cod sursa (job #3348762)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("algsort.in");
ofstream fout("algsort.out");
void mergeSort( int v[], int st, int dr )
{
if ( st == dr )
return ;
int mij = (st + dr) / 2;
mergeSort( v, st, mij);
mergeSort( v, mij + 1, dr);
vector <int> aux;
int i = st, j = mij + 1;
while ( i <= mij || j <= dr )
{
if ( i <= mij && v[i] < v[j] || j > dr )
aux.push_back(v[i++]);
else
aux.push_back(v[j++]);
}
for ( i = 0; i < aux.size(); ++i )
v[st + i] = aux[i];
}
int v[500005];
int main()
{
int n, i;
fin >> n;
for ( i = 1; i <= n; ++i )
fin >> v[i];
mergeSort(v, 1, n);
for ( i = 1; i <= n; ++i )
fout << v[i] << " ";
return 0;
}