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

溫馨提示×

c++優先隊列實現的方法是什么

c++
小億
90
2024-02-02 10:11:39
欄目: 編程語言

C++中可以使用std::priority_queue來實現優先隊列。std::priority_queue是一個模板類,位于<queue>頭文件中。

使用std::priority_queue時,需要先定義元素的類型,以及元素的比較方式。比較方式可以通過定義一個函數對象或者使用Lambda表達式來實現。

以下是一個使用std::priority_queue實現優先隊列的示例:

#include <iostream>
#include <queue>

int main() {
  // 定義元素類型為整數,比較方式為從大到小
  std::priority_queue<int, std::vector<int>, std::greater<int>> pq;

  // 插入元素
  pq.push(3);
  pq.push(1);
  pq.push(4);
  pq.push(1);
  pq.push(5);

  // 輸出隊列中的元素
  while (!pq.empty()) {
    std::cout << pq.top() << " ";
    pq.pop();
  }

  return 0;
}

輸出結果為:1 1 3 4 5

在上述示例中,我們定義了一個優先隊列pq,元素類型為整數,比較方式為從大到小。通過push函數向隊列中插入元素,通過top函數獲取隊列中的最高優先級元素,通過pop函數彈出隊列中的最高優先級元素。最終,我們通過循環輸出隊列中的元素。

需要注意的是,std::priority_queue默認使用的是std::less作為比較方式,即從大到小的順序。如果需要從小到大的順序,可以使用std::greater作為比較方式。

0
遵义县| 龙口市| 葫芦岛市| 洛宁县| 涟源市| 那坡县| 筠连县| 新巴尔虎右旗| 彩票| 南通市| 麻栗坡县| 桦南县| 元谋县| 鄂伦春自治旗| 太谷县| 博白县| 祁连县| 特克斯县| 尤溪县| 镇康县| 柞水县| 那曲县| 布尔津县| 乐都县| 自贡市| 崇信县| 台中市| 读书| 金阳县| 栾川县| 郓城县| 金山区| 且末县| 横山县| 凌云县| 舞钢市| 深泽县| 峨眉山市| 休宁县| 浦县| 石景山区|