Use includes() function to check if one set contains another set
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
void print(int elem) {
cout << elem << " ";
}
int main(int argc, char** argv) {
vector<int> setOne, setTwo, setThree;
setOne.push_back(1);
setOne.push_back(2);
setOne.push_back(3);
setTwo.push_back(2);
setTwo.push_back(3);
setTwo.push_back(4);
// set algorithms work on sorted ranges
sort(setOne.begin(), setOne.end());
sort(setTwo.begin(), setTwo.end());
if (includes(setOne.begin(), setOne.end(), setTwo.begin(), setTwo.end())) {
cout << "The second set is a subset of the first\n";
}
if (includes(setTwo.begin(), setTwo.end(), setOne.begin(), setOne.end())) {
cout << "The first set is a subset of the second\n";
}
return (0);
}
Related examples in the same category