在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提供了以下常用的成員函數:
需要注意的是,priority_queue沒有提供迭代器,因此無法直接訪問容器中的元素。如果需要遍歷元素,可以通過不斷使用pop()函數來逐個取出頂部元素。