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; }