Question

Is there ready function to get difference of two std::list lists?

For example I have list1: obj1, obj2, obj3, obj4 and list2: obj2, obj3, obj4, obj5.

The function result should be list1_unique: obj1, list1_and_list2: obj2, obj3, obj4, list2_unique: obj5.

(It's not hard to write my own implementation but I would prefer standard function)

Était-ce utile?

La solution

If your lists are sorted (as your examples appear to be), std::set_difference to get list1_unique and list2_unique, and std::set_intersection to get list1_and_list2. If they're not already sorted, you could sort them with std::list::sort().

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top