亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

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
金湖县| 汉川市| 安图县| 桃园市| 垣曲县| 南陵县| 许昌市| 玉溪市| 剑川县| 攀枝花市| 曲靖市| 简阳市| 禹州市| 绥滨县| 红河县| 滕州市| 日喀则市| 钟山县| 平泉县| 江安县| 涿鹿县| 惠州市| 合作市| 哈尔滨市| 营山县| 临城县| 吉水县| 成都市| 灌阳县| 德安县| 新化县| 玉环县| 慈溪市| 鄂温| 那曲县| 连平县| 阜宁县| 沙田区| 湟源县| 兴山县| 正宁县|