Using set operations on a range
The standard library provides several algorithms for set operations that enable us to do unions, intersections, or differences of sorted ranges. In this recipe, we will see what these algorithms are and how they work.
Getting ready
The algorithms for set operations work with iterators, which means they can be used for standard containers, C-like arrays, or any custom type representing a sequence that has input iterators available. All the examples in this recipe will use std::vector
.
For all the examples in the next section, we will use the following ranges:
std::vector<int> v1{ 1, 2, 3, 4, 4, 5 }; std::vector<int> v2{ 2, 3, 3, 4, 6, 8 }; std::vector<int> v3;
How to do it...
Use the following general algorithms for set operations:
std::set_union()
to compute the union of two ranges into a third range:
std::set_union(v1.cbegin(), v1.cend(), v2.cbegin(), v2.cend(), std::back_inserter...