multiset与priority_queue的区别
时间: 2023-11-19 17:52:33 浏览: 305
proirity_queue性能分析测试源码
multiset和priority_queue都是内部有序的数据结构,但是它们的使用场景和用法略有不同。
multiset是一个集合容器,可以存储相同的元素,它的元素是按照一定的排序规则进行排序的,可以通过迭代器访问其中的元素。multiset的插入和删除操作的时间复杂度都是O(log(n)),查找操作的时间复杂度也是O(log(n))。
而priority_queue是一个队列容器,它的元素是按照一定的排序规则进行排序的,但是它只能访问队头的元素,不能通过迭代器访问其中的元素。priority_queue特别适用于“不停地在一堆元素中取走最大的元素”这种情况。priority_queue的插入和删除操作的时间复杂度都是O(log(n))。
因此,multiset适用于需要存储相同元素并且需要随时访问其中元素的情况,而priority_queue适用于需要不停地取出最大元素的情况。
阅读全文