Поскольку и std::priority_queue
, и std::set
(, иstd::multiset
)— это контейнеры данных, в которых хранятся элементы и которые позволяют вам обращаться к ним упорядоченным образом, и имеют одинаковую сложность вставки O(log n)
, каковы преимущества использования одного над другим (или какие ситуации требуют тот или иной?)?
Хотя я знаю, что базовые структуры различны, меня не столько интересует разница в их реализации, сколько сравнение их производительности и пригодности для различных целей..
Примечание.:Я знаю о том, что в наборе нет-дубликатов. Вот почему я также упомянул std::multiset
, так как он ведет себя точно так же, как std::set
, но может использоваться там, где сохраненные данные можно сравнивать как равные элементы. Поэтому, пожалуйста, не комментируйте проблему с одним или несколькими ключами.