Какой самый эффективный способ удалить дубликаты и отсортировать вектор?

Мне нужно взять вектор C ++ с потенциально большим количеством элементов, стереть дубликаты и отсортировать их.

В настоящее время у меня есть приведенный ниже код, но он не работает.

<code>vec.erase(
      std::unique(vec.begin(), vec.end()),
      vec.end());
std::sort(vec.begin(), vec.end());
</code>

Как я могу правильно сделать это?

Кроме того, быстрее ли сначала удалить дубликаты (аналогично приведенному выше) или выполнить сортировку в первую очередь? Если я сначала выполню сортировку, гарантированно ли она останется послеstd::unique выполняется?

Или есть другой (возможно, более эффективный) способ сделать все это?

Ответы на вопрос(20)

Ваш ответ на вопрос