91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

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
呼伦贝尔市| 广宗县| 乌拉特后旗| 成都市| 千阳县| 略阳县| 信丰县| 临海市| 元谋县| 天津市| 洞口县| 张家口市| 灵宝市| 娱乐| 达拉特旗| 新龙县| 克拉玛依市| 江陵县| 东兰县| 房山区| 南汇区| 湘潭市| 崇州市| 邹城市| 云龙县| 高要市| 临夏市| 广元市| 襄樊市| 石城县| 偏关县| 洪雅县| 永泰县| 西贡区| 金湖县| 普兰县| 青冈县| 思南县| 盘锦市| 赤壁市| 湟中县|