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; }