How to find Intersection of Two Sets in C++ - Step by Step Examples
How to find Intersection of Two Sets in C++ ?
Answer
In C++, you can find the intersection of two sets using the set_intersection algorithm from the
✐ Examples
1 Find Intersection of Two Sets using set_intersection algorithm
In this example,
- We include the necessary header files, including
for input and output and for using the set_intersection algorithm. - We define two sets,
set1
andset2
, as arrays. - We sort both sets using the
std::sort
function. - We declare a new array
intersection
to store the intersection of the two sets. - We use the
std::set_intersection
algorithm to find the intersection ofset1
andset2
, storing the result inintersection
. - We print the elements of
intersection
to display the intersection of the two sets.
C++ Program
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> set1 = {1, 2, 3, 4};
std::vector<int> set2 = {3, 4, 5, 6};
std::vector<int> intersection(set1.size() + set2.size());
std::sort(set1.begin(), set1.end());
std::sort(set2.begin(), set2.end());
auto it = std::set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), intersection.begin());
intersection.resize(it - intersection.begin());
std::cout << "Intersection of set1 and set2:\n";
for (int i : intersection) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Output
Intersection of set1 and set2: 3 4
2 Find Intersection of Two Sets with Duplicate Elements
In this example,
- We include the necessary header files, including
for input and output and for using the set_intersection algorithm. - We define two sets,
set1
andset2
, as arrays. - We sort both sets using the
std::sort
function. - We declare a new array
intersection
to store the intersection of the two sets. - We use the
std::set_intersection
algorithm to find the intersection ofset1
andset2
, storing the result inintersection
. - We print the elements of
intersection
to display the intersection of the two sets.
C++ Program
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> set1 = {1, 2, 2, 3, 4};
std::vector<int> set2 = {2, 2, 3, 4, 5};
std::vector<int> intersection(std::min(set1.size(), set2.size()));
std::sort(set1.begin(), set1.end());
std::sort(set2.begin(), set2.end());
auto it = std::set_intersection(set1.begin(), set1.end(), set2.begin(), set2.end(), intersection.begin());
intersection.resize(it - intersection.begin());
std::cout << "Intersection of set1 and set2 with duplicates:\n";
for (int i : intersection) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
Output
Intersection of set1 and set2 with duplicates: 2 2 3 4
Summary
In this tutorial, we learned How to find Intersection of Two Sets in C++ language with well detailed examples.
More C++ Sets Tutorials
- How to create an Empty Set in C++ ?
- How to Initialize a Set in C++ ?
- How to Get Length of a Set in C++ ?
- How to create a Set of size N in C++ ?
- How to create a Set of Numbers from 1 to N in C++ ?
- How to create a Set of integers in C++ ?
- How to create a Set of Strings in C++ ?
- How to Access Items in a Set in C++ ?
- How to get a Random Item in a Set in C++ ?
- How to Iterate Over a Set in C++ ?
- How to check if a Set is Empty in C++ ?
- How to check if a Set is Not Empty in C++ ?
- How to get Subset from a Set in C++ ?
- How to check if a Specific Item is present in the Set in C++ ?
- How to check if a Set contains all the items of Another Set in C++ ?
- How to Sort Items of a Set in C++ ?
- How to Copy a Set in C++ ?
- How to add an Item to a Set in C++ ?
- How to find Union of Two Sets in C++ ?
- How to find Intersection of Two Sets in C++ ?
- How to check if Two Sets are Equal in C++ ?
- How to Convert a Set of Integers to a Set of Strings in C++ ?
- How to Convert a Set of Strings to a Set of Integers in C++ ?
- How to Convert a Set of Floats to a Set of Strings in C++ ?
- How to Filter Items of a Set based on a Condition in C++ ?
- How to Remove Specific Item from a Set in C++ ?
- How to Remove Items from Set based on a Condition in C++ ?
- How to create a Set of Sets in C++ ?