Удалить дубликаты из списка

Используя алгоритмы STL (насколько это возможно), такие как remove_if () и list :: erase , есть ли хороший способ удалить дубликаты из списка, определенного следующим образом:

list l;

Обратите внимание, что list :: unique () работает, только если дублирование происходит в последовательных элементах . В моем случае все дубликаты должны быть удалены независимо от их положения в списке. Более того, удаление дубликатов означает сохранение только одной копии каждого элемента в конечном результате.

РЕДАКТИРОВАТЬ: параметр l.sort () , за которым следует l.unique () не может можно воспользоваться, так как это нарушит порядок в списке.

6
задан Jaywalker 4 February 2011 в 10:55
поделиться