set_union()
set_union() constructs a sorted sequence of the element values contained within the two sequences. For example, given the two sequences {0,1,2,3} and {0,2,4,6}, the set union is {0,1,2,3,4,6}. If the element is present in both containers, such as 0 and 2 in the example, the element of the first container is copied.
#include <algorithm>
string str1[] = { "Pooh", "Piglet", "Tigger", "Eeyore" };
string str2[] = { "Pooh", "Heffalump", "Woozles" };
set<string> set1( str1, str1+4 ),
set2( str2, str2+3 );
// holds result of each set operation
set<string> res;
//set_union(): Eeyore Heffalump Piglet Pooh Tigger Woozles
set_union( set1.begin(), set1.end(),
set2.begin(), set2.end(), inserter(res,res.begin()));
res.clear(); // empties the container of elements
// set_intersection(): Pooh
set_intersection( set1.begin(), set1.end(), set2.begin(),
set2.end(), inserter( res,res.begin() ));
res.clear();
// set_difference(): Eeyore Piglet Tigger
set_difference( set1.begin(), set1.end(), set2.begin(),
set2.end(), inserter( res, res.begin() ));
res.clear();
// set_symmetric_difference():
// Eeyore Heffalump Piglet Tigger Woozles
set_symmetric_difference( set1.begin(), set1.end(), set2.begin(),
set2.end(), inserter( res, res.begin() ));
|