Mega Code Archive

 
Categories / C++ / Algorithm
 

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