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