How to find Union of Two Sets in C++


How to find Union of Two Sets in C++ ?

Answer

In C++, you can utilize the std::set container from the Standard Template Library (STL) to represent a set and perform set operations.



✐ Examples

1 Find Union of Two Sets using std::set

In this example,

  1. We include the <set> header to use the std::set container from the Standard Template Library (STL).
  2. We define two std::set objects, set1 and set2, and insert elements into them.
  3. We create another std::set, unionSet, to store the union of set1 and set2.
  4. We use the std::set_union algorithm from the STL to find the union of set1 and set2, and store the result in unionSet.
  5. We print the elements of unionSet to display the union of the two sets.

C++ Program

#include <iostream>
#include <set>
#include <algorithm>
#include <iterator>

int main() {
    std::set<int> set1 = {1, 2, 3};
    std::set<int> set2 = {3, 4, 5};
    
    std::set<int> unionSet;
    std::set_union(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(unionSet, unionSet.begin()));
    
    std::cout << "Union of set1 and set2:\n";
    for (int num : unionSet) {
        std::cout << num << " ";
    }
    
    return 0;
}

Output

Union of set1 and set2:
1 2 3 4 5

2 Find Union of Two Sets using Custom Implementation

In this example,

  1. We create two std::set objects, set1 and set2, to represent the sets.
  2. We define a function named unionSets that takes references to set1 and set2 as parameters.
  3. Inside the unionSets function, we iterate over each element of set2 and insert it into set1 if it's not already present.
  4. We call the unionSets function with set1 and set2.
  5. We print the elements of set1 to display the union set.

C++ Program

#include <iostream>
#include <set>

void unionSets(std::set<int>& set1, const std::set<int>& set2) {
    for (int num : set2) {
        set1.insert(num);
    }
}

int main() {
    std::set<int> set1 = {1, 2, 3};
    std::set<int> set2 = {3, 4, 5};
    
    unionSets(set1, set2);
    
    std::cout << "Union of set1 and set2:\n";
    for (int num : set1) {
        std::cout << num << " ";
    }
    
    return 0;
}

Output

Union of set1 and set2:
1 2 3 4 5

Summary

In this tutorial, we learned How to find Union of Two Sets in C++ language with well detailed examples.




More C++ Sets Tutorials

  1. How to create an Empty Set in C++ ?
  2. How to Initialize a Set in C++ ?
  3. How to Get Length of a Set in C++ ?
  4. How to create a Set of size N in C++ ?
  5. How to create a Set of Numbers from 1 to N in C++ ?
  6. How to create a Set of integers in C++ ?
  7. How to create a Set of Strings in C++ ?
  8. How to Access Items in a Set in C++ ?
  9. How to get a Random Item in a Set in C++ ?
  10. How to Iterate Over a Set in C++ ?
  11. How to check if a Set is Empty in C++ ?
  12. How to check if a Set is Not Empty in C++ ?
  13. How to get Subset from a Set in C++ ?
  14. How to check if a Specific Item is present in the Set in C++ ?
  15. How to check if a Set contains all the items of Another Set in C++ ?
  16. How to Sort Items of a Set in C++ ?
  17. How to Copy a Set in C++ ?
  18. How to add an Item to a Set in C++ ?
  19. How to find Union of Two Sets in C++ ?
  20. How to find Intersection of Two Sets in C++ ?
  21. How to check if Two Sets are Equal in C++ ?
  22. How to Convert a Set of Integers to a Set of Strings in C++ ?
  23. How to Convert a Set of Strings to a Set of Integers in C++ ?
  24. How to Convert a Set of Floats to a Set of Strings in C++ ?
  25. How to Filter Items of a Set based on a Condition in C++ ?
  26. How to Remove Specific Item from a Set in C++ ?
  27. How to Remove Items from Set based on a Condition in C++ ?
  28. How to create a Set of Sets in C++ ?