在C++中,priority_queue是一個容器適配器,它實現了一個優先級隊列(Priority Queue)。優先級隊列是一種特殊的容器,其中每個元素都有一個優先級。與普通隊列不同,優先級隊列中的元素按照優先級排序,而不是按照插入順序排序。
priority_queue模板類位于
#include <queue>
priority_queue的常用方法和操作包括:
優先級隊列中的元素默認按照元素類型的"<“運算符進行排序,因此,元素類型必須支持”<"運算符的比較。也可以通過傳遞自定義的比較函數來改變元素的排序規則。
以下是一個使用priority_queue的簡單示例:
#include <iostream>
#include <queue>
int main() {
std::priority_queue<int> pq;
pq.push(10);
pq.push(5);
pq.push(15);
std::cout << "Size of priority queue: " << pq.size() << std::endl;
std::cout << "Top element: " << pq.top() << std::endl;
pq.pop();
std::cout << "Size of priority queue after pop: " << pq.size() << std::endl;
std::cout << "New top element: " << pq.top() << std::endl;
return 0;
}
此示例創建了一個存儲整數的priority_queue。然后,它插入三個整數并打印出隊列的大小和頂部元素。然后,它從隊列中彈出一個元素并再次打印隊列的大小和新的頂部元素。
輸出為:
Size of priority queue: 3
Top element: 15
Size of priority queue after pop: 2
New top element: 10