Какой самый эффективный способ удалить дубликаты и отсортировать вектор?
Мне нужно взять вектор C ++ с потенциально большим количеством элементов, стереть дубликаты и отсортировать их.
В настоящее время у меня есть приведенный ниже код, но он не работает.
<code>vec.erase( std::unique(vec.begin(), vec.end()), vec.end()); std::sort(vec.begin(), vec.end()); </code>
Как я могу правильно сделать это?
Кроме того, быстрее ли сначала удалить дубликаты (аналогично приведенному выше) или выполнить сортировку в первую очередь? Если я сначала выполню сортировку, гарантированно ли она останется послеstd::unique
выполняется?
Или есть другой (возможно, более эффективный) способ сделать все это?