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






Generic merge algorithm: merge parts of an array and a deque, putting the result into a list

  
 
#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

 */
         
    
  








Related examples in the same category

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