Generic merge algorithm: merge parts of an array and a deque, putting the result into a list : merge « STL Algorithms Merge « C++ Tutorial






#include <iostream>
#include <string>
#include <cassert>
#include <list>
#include <deque>
#include <algorithm>  // For merge
using namespace std;

int main()
{

  char s[] = "acegikm";

  deque<char> deque1(&s[0], &s[strlen(s)]);

  // Initialize list1 with 26 copies of the letter x:
  list<char> list1(26, 'x');

  // Merge first 5 letters in array s with first 10 in
  // deque1, putting result in list1:
  merge(&s[0], &s[5], deque1.begin(), deque1.begin() + 10,list1.begin());

  list<char>::iterator i;

  cout.precision(10);

  for (i = list1.begin(); i != list1.end(); ++i)
    cout << *i << endl;

  return 0;
}
a
a
c
c
e
e
g
g
i
i
k
m

S
P
x
x
x
x
x
x
x
x
x
x
x








28.3.merge
28.3.1.Use std::merge to merge elements in two elements into the third one in sorted order
28.3.2.Use merge with back_inserter
28.3.3.Merge two containers
28.3.4.sum the ranges by using merge()
28.3.5.Demonstrating the generic merge algorithm with an array, a list, and a deque
28.3.6.Generic merge algorithm: merge parts of an array and a deque, putting the result into a list