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

溫馨提示×

c++ priority_queue如何實現優先級排序

c++
小樊
83
2024-09-04 19:04:07
欄目: 編程語言

在C++中,priority_queue是一個容器適配器,它提供了一種特殊的隊列,其元素可以按照優先級進行排序。默認情況下,priority_queue的元素是按照從大到小的順序排列的,但你也可以自定義比較函數來改變這種排序方式。

下面是一個使用priority_queue實現優先級排序的例子:

#include<iostream>
#include<queue>
#include<vector>

using namespace std;

// 自定義比較函數,按照從小到大的順序排列
struct Compare {
    bool operator()(const int &a, const int &b) {
        return a > b;
    }
};

int main() {
    // 創建一個優先級隊列,使用自定義的比較函數
    priority_queue<int, vector<int>, Compare> pq;

    // 向優先級隊列中添加元素
    pq.push(5);
    pq.push(1);
    pq.push(3);
    pq.push(7);
    pq.push(2);

    // 從優先級隊列中取出元素并打印
    while (!pq.empty()) {
        cout << pq.top() << " ";
        pq.pop();
    }

    return 0;
}

輸出結果:

1 2 3 5 7

在這個例子中,我們首先定義了一個自定義比較函數Compare,它使得priority_queue中的元素按照從小到大的順序排列。然后,我們創建了一個priority_queue對象,并向其中添加了一些元素。最后,我們從priority_queue中取出元素并打印,可以看到元素已經按照優先級進行了排序。

0
枞阳县| 调兵山市| 博野县| 长泰县| 太保市| 贡嘎县| 卓尼县| 平乐县| 老河口市| 兴城市| 土默特右旗| 平邑县| 郯城县| 伊春市| 始兴县| 阜城县| 白城市| 五常市| 甘肃省| 喀喇沁旗| 信阳市| 潮安县| 竹山县| 汝城县| 遵义市| 普格县| 云浮市| 丰都县| 临颍县| 玉环县| 凌海市| 金乡县| 光山县| 鞍山市| 桂阳县| 紫云| 大新县| 富民县| 东阿县| 同德县| 吉林省|