Create the symmetric difference between list1 and list2 : difference « Set Multiset « C++






Create the symmetric difference between list1 and list2

  
#include <iostream>
#include <list>
#include <algorithm>

using namespace std;

template<class InIter>
void show_range(const char *msg, InIter start, InIter end);

int main()
{
  list<char> list1, list2, result(15);
  list<char>::iterator res_end;

  for(int i=0; i < 5; i++) 
     list1.push_back('A'+i);
     
  for(int i=3; i < 10; i++) 
     list2.push_back('A'+i);
  
  show_range("Contents of list1: ", list1.begin(), list1.end());

  show_range("Contents of list2: ", list2.begin(), list2.end());

  res_end = set_symmetric_difference(list1.begin(), list1.end(),list2.begin(), list2.end(),result.begin());

  show_range("Symmetric difference of list1 and list2: ",result.begin(), res_end);

  return 0;
}

template<class InIter>
void show_range(const char *msg, InIter start, InIter end) {

  InIter itr;

  cout << msg << endl;

  for(itr = start; itr != end; ++itr)
    cout << *itr << endl;
}
  
    
  








Related examples in the same category

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