使用<set>和<algorithm>.
然后std提供std::set_union,std::set_intersection依此类推.
例:
#include <set>
#include <algorithm>
...
std::set<int> s1, s2;
for(int i = 0; i < 20; ++i) s1.insert(i);
for(int i = 10; i < 30; ++i) s2.insert(i);
std::set<int> my_union, my_intersection;
std::set_union(s1.begin(), s1.end(), s2.begin(), s2.end(), std::inserter(my_union, my_union.begin()));
std::set_interesction(s1.begin(), s1.end(), s2.begin(), s2.end(), std::inserter(my_intersection, my_intersection.begin()));
Run Code Online (Sandbox Code Playgroud)