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, 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;
In the following section, we will explore the use of the standard algorithm for set operations.
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(),
...