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