Разница между std::set и std::priority_queue

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

Хотя я знаю, что базовые структуры различны, меня не столько интересует разница в их реализации, сколько сравнение их производительности и пригодности для различных целей..

Примечание.:Я знаю о том, что в наборе нет-дубликатов. Вот почему я также упомянул std::multiset, так как он ведет себя точно так же, как std::set, но может использоваться там, где сохраненные данные можно сравнивать как равные элементы. Поэтому, пожалуйста, не комментируйте проблему с одним или несколькими ключами.

51
задан penelope 13 April 2012 в 02:43
поделиться