Pagini recente » Cod sursa (job #1184670) | Cod sursa (job #471755) | Cod sursa (job #1301674) | Cod sursa (job #2040001) | Cod sursa (job #1241240)
#include <fstream>
#include <iterator>
#include <vector>
#include <algorithm>
using namespace std;
void merge_sort(
vector<int>::iterator left,
vector<int>::iterator right) {
int n = distance(left, right);
if (n > 1) {
vector<int>::iterator pivot = left;
advance(pivot, n / 2);
merge_sort(left, pivot);
merge_sort(pivot, right);
inplace_merge(left, pivot, right);
}
}
int main() {
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int n; fin >> n;
vector<int> V(n);
copy(istream_iterator<int>(fin), istream_iterator<int>(), V.begin());
merge_sort(V.begin(), V.end());
copy(V.begin(), V.end(), ostream_iterator<int>(fout, " "));
fout << endl;
return 0;
}