Merge two ranges within a vector
#include <iostream>
#include <vector>
#include <deque>
#include <list>
#include <algorithm>
using namespace std;
template<class InIter>
void show_range(const char *msg, InIter start, InIter end);
int main()
{
vector<char> v;
deque<char> dq;
list<char> result(26);
list<char>::iterator res_end;
for(int i=0; i < 26; i+=2) {
v.push_back('A'+i);
}
for(int i=0; i < 26; i+=2) {
dq.push_back('B'+i);
}
// Merge two ranges within v2.
inplace_merge(v.begin(), v.begin()+13, v.end());
show_range("Contents of v after in-place merge:", v.begin(),v.end());
return 0;
}
template<class InIter>
void show_range(const char *msg, InIter start, InIter end) {
InIter itr;
cout << msg << endl;
for(itr = start; itr != end; ++itr)
cout << *itr << endl;
}
Related examples in the same category