Pagini recente » Cod sursa (job #1768544) | Cod sursa (job #282346) | Cod sursa (job #2816640) | Cod sursa (job #752775) | Cod sursa (job #796692)
Cod sursa(job #796692)
#include <fstream>
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
using namespace std;
template <class Iter>
void merge_sort(Iter first, Iter last)
{
if (last - first > 1)
{
Iter median = first + (last - first)/2;
merge_sort(first, median);
merge_sort(median, last);
inplace_merge(first, median, last);
}
}
int main()
{
int n;
vector<int> vec;
fstream fin("algsort.in", fstream::in);
fstream fout("algsort.out", fstream::out);
fin >> n;
//cout << n << endl;
//vec.resize(n);
istream_iterator<int> it_in(fin);
istream_iterator<int> it_end;
copy(it_in, it_end, back_inserter(vec));
merge_sort(vec.begin(), vec.end());
ostream_iterator<int> it_out(fout, " ");
copy(vec.begin(), vec.end(), it_out);
return 0;
}