Get the symmetric difference between two sets : difference « Set Multiset « C++






Get the symmetric difference between 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_symmetric_difference(setOne.begin(), setOne.end(), setTwo.begin(),setTwo.end(), setThree.begin());
  cout << "The symmetric difference is: ";
  for_each(setThree.begin(), newEnd, &print);
  cout << endl;

  return (0);
}
  
    
  








Related examples in the same category

1.Get the difference between two sets
2.set_difference and back_inserter
3.Use set_difference to get values from only one list
4.Use set_symmetric_difference() to get the difference between two lists
5.Create the symmetric difference between list1 and list2