中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++的priority_queue怎么使用

小億
85
2023-07-07 10:52:57
欄目: 編程語言

priority_queue 是C++標準庫中的一個容器適配器,它提供了一個優先級隊列的實現。下面是使用 priority_queue 的一些基本步驟:

  1. 包含頭文件:#include <queue>

  2. 定義優先級隊列:std::priority_queue

std::priority_queue<int> pq; // 創建一個默認的優先級隊列,默認是大頂堆
  1. 插入元素:使用 push() 函數將元素插入到優先級隊列中。
pq.push(5); // 將元素5插入到優先級隊列中
pq.push(2); // 將元素2插入到優先級隊列中
pq.push(8); // 將元素8插入到優先級隊列中
  1. 訪問隊列頂部元素:使用 top() 函數可以獲取隊列中的最高優先級元素。
int topElement = pq.top(); // 獲取隊列中的最高優先級元素
  1. 刪除隊列頂部元素:使用 pop() 函數可以刪除隊列中的最高優先級元素。
pq.pop(); // 刪除隊列中的最高優先級元素
  1. 判斷隊列是否為空:使用 empty() 函數可以判斷隊列是否為空。
bool isEmpty = pq.empty(); // 判斷隊列是否為空

需要注意的是,priority_queue 默認是一個大頂堆,即優先級高的元素會被放在隊列的前面。如果想要使用小頂堆,則可以通過傳遞一個比較函數來實現:

std::priority_queue<int, std::vector<int>, std::greater<int>> pq; // 創建一個小頂堆

上述代碼中,std::greater<int> 是一個比較函數對象,用于比較兩個元素的大小。

0
闸北区| 叙永县| 崇明县| 宣恩县| 临洮县| 五指山市| 黄大仙区| 兴业县| 宁陕县| 阜城县| 收藏| 东港市| 四川省| 遵化市| 龙泉市| 西充县| 平利县| 金昌市| 邮箱| 乌鲁木齐县| 镇原县| 印江| 江孜县| 贺州市| 新津县| 驻马店市| 金溪县| 龙岩市| 深泽县| 双柏县| 汨罗市| 河西区| 株洲县| 古浪县| 平潭县| 论坛| 虎林市| 靖西县| 云林县| 鹤岗市| 仙桃市|