C++ Program to Implement Set_Intersection in STL

C++Server Side ProgrammingProgramming

The intersection of two sets is formed only by the elements those are common in both sets. The elements copied by the function come always from the first set in the same order. The elements in the both the sets shall already be ordered.

Common set operations are −

  • Set Union
  • Set Intersection
  • Symmetric Set Difference or Exclusive-OR
  • Set Difference or Subtraction

Algorithm

Begin
   Declare set vector v and iterator st.
   Initialize st = set_intersection (set1, set1 + n, set2, set2 +n, v.begin()))
   Print the intersection between two sets.
End.

Example Code

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main () {
   int set1[] = {5,6,7,8,9,10};
   int set2[] = {1,2,3,4,6,7};
   vector<int> v(10);
   vector<int>::iterator st;
   sort (set1, set1 + 6);
   sort (set2, set2 + 6);
   st = set_intersection (set1, set1 + 6, set2, set2 + 6, v.begin());
   v.resize(st - v.begin());
   cout << "The intersection between the two set has " << (v.size()) << " elements: "<<endl;
   for (st = v.begin(); st != v.end(); ++st)
      cout<< *st<<" ";
   cout <<endl;
   return 0;
}

Output

The intersection between the two set has 2 elements:
6 7
raja
Updated on 30-Jul-2019 22:30:25

Advertisements