Use merge with back_inserter : merge « STL Algorithms Merge « C++






Use merge with back_inserter

  
 

#include <iostream>
#include <string>
#include <list>
#include <vector>
#include <algorithm>
#include <iterator>

using namespace std;

int main( ) {

   vector<string> v1, v2, v3;

   v1.push_back("a");
   v1.push_back("c");
   v1.push_back("e");

   v2.push_back("b");
   v2.push_back("d");
   v2.push_back("f");

   v3.reserve(v1.size( ) + v2.size( ) + 1);

   merge(v1.begin( ), v1.end( ),
         v2.begin( ), v2.end( ),
         back_inserter<vector<string> >(v3));

   for(int i=0;i<6;i++){
      cout << v3[i];
   }

}

 /* 
abcdef
 */       
    
  








Related examples in the same category

1.Use std::merge to merge elements in two elements into the third one in sorted order
2.Merge two containers
3.sum the ranges by using merge()
4.Demonstrating the generic merge algorithm with an array, a list, and a deque
5.Generic merge algorithm: merge parts of an array and a deque, putting the result into a list
6.Merge a vector with deque
7.Merge in place
8.Merge two ranges within a vector