priority_queue是C++ STL中的一種容器,它是一個按照優先級排序元素的隊列。優先級最高的元素(根據比較函數確定)總是位于隊列的最前面。
priority_queue的特點:
priority_queue的使用步驟:
priority_queue的常用函數:
示例代碼:
#include <iostream>
#include <queue>
int main() {
// 聲明一個存放整數的priority_queue,默認為大根堆
std::priority_queue<int> pq;
// 插入元素
pq.push(10);
pq.push(30);
pq.push(20);
// 獲取優先級最高的元素
std::cout << "Top element: " << pq.top() << std::endl;
// 刪除優先級最高的元素
pq.pop();
// 判斷priority_queue是否為空
if (pq.empty()) {
std::cout << "Priority queue is empty." << std::endl;
} else {
std::cout << "Priority queue is not empty." << std::endl;
}
// 獲取priority_queue中元素的個數
std::cout << "Size of priority queue: " << pq.size() << std::endl;
return 0;
}
輸出結果:
Top element: 30
Priority queue is not empty.
Size of priority queue: 2
這是一個簡單的priority_queue的示例,演示了插入元素、獲取最高優先級元素、刪除最高優先級元素、判斷是否為空以及獲取元素個數的基本操作。實際使用中,可以根據需要自定義比較函數來實現不同的優先級順序。