阅读量:1
在C++中,priority_queue是一个容器适配器,它提供了一种基于优先级的元素访问方式。它可以用于存储一组元素,并根据优先级对元素进行排序。priority_queue类模板位于
template <class T, class Container = vector<T>, class Compare = less<typename Container::value_type>> class priority_queue;
其中,T是存储在priority_queue中的元素类型,Container是用于存储元素的容器类型,默认为vector
priority_queue的默认排序方式是将元素按照比较器Compare的要求,即从大到小(默认情况下)或从小到大的顺序进行排序。这意味着在默认情况下,priority_queue的顶部元素是最大的元素。
priority_queue提供了以下常用的成员函数:
- push(x):将元素x插入到priority_queue中。
- pop():移除顶部元素。
- top():返回顶部元素的引用。
- empty():检查priority_queue是否为空。
- size():返回priority_queue中的元素数量。
需要注意的是,priority_queue没有提供迭代器,因此无法直接访问容器中的元素。如果需要遍历元素,可以通过不断使用pop()函数来逐个取出顶部元素。