#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
using std::cout;
using std::endl;
using std::vector;
int main()
{
vector<int> vec1 = { 0, 2, 4, 5 };
vector<int> vec2 = { 1, 3, 5, 6 };
std::ostream_iterator<int> output(cout, " ");
vector<int> results(vec1.size() + vec2.size());
std::merge(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), results.begin());
std::copy(results.begin(), results.end(), output);
cout << endl;
return 0;
}
/*
run:
0 1 2 3 4 5 5 6
*/