Intersect two sets : intersect « Set Multiset « C++






Intersect two sets

  
#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());

  vector<int>::iterator  newEnd = set_intersection(setOne.begin(), setOne.end(), setTwo.begin(),setTwo.end(), setThree.begin());
  cout << "The intersection is: ";
  for_each(setThree.begin(), newEnd, &print);
  cout << endl;

  return (0);
}
  
    
  








Related examples in the same category

1.Use set_intersection to intersect two lists
2.Create the intersection of list1 and list2