Pagini recente » Cod sursa (job #2669778) | Cod sursa (job #1592174) | Cod sursa (job #527780) | Cod sursa (job #1333549) | Cod sursa (job #1719829)
#include <bits/stdc++.h>
using namespace std;
void MergeSort(vector<int> &V) {
int n = V.size();
while(V.size() != (V.size() & -V.size()))
V.push_back(numeric_limits<int>::max());
for(int i = 1; i < V.size(); i <<= 1) {
for(auto b = V.begin(); b != V.end(); advance(b, i + i)) {
auto m = b + i;
auto e = m + i;
inplace_merge(b, m, e);
}
}
V.resize(n);
}
int main() {
freopen("algsort.in", "r", stdin);
freopen("algsort.out", "w", stdout);
int n;
cin >> n;
vector<int> V(n);
for(auto &v : V)
cin >> v;
MergeSort(V);
for(auto &v : V)
cout << v << " ";
return 0;
}