由于 std::priority_queue
和 std::set
(以及 std::multiset
)都是数据容器,它们存储元素并允许您以有序的方式访问它们,并且具有相同的插入复杂度 O(log n)
,因此使用其中一个的优点是什么(或者,什么样的情况需要使用其中一个?)?
虽然我知道底层结构是不同的,但我对它们实现上的差异并不感兴趣,而是对它们的 表演和 合适在各种用途上的比较。
注意: 我知道一个集合中的无重复项。这就是为什么我还提到了 std::multiset
,因为它具有与 std::set
完全相同的行为,但是可以在允许将存储的数据作为相同的元素进行比较的情况下使用。所以,请不要评论单键/多键的问题。