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