不知道如何使用lambda表达式和数组初始化创建两个priority_queue。
创始人
2025-01-12 06:00:22
0

可以使用以下代码创建两个priority_queue,一个是从大到小排序,另一个是从小到大排序:

#include 
#include 
#include 

using namespace std;

int main() {
    int arr[] = {3, 5, 1, 10, 4};
    int size = sizeof(arr) / sizeof(int);

    auto cmp1 = [](int a, int b) { return a < b; };
    priority_queue, decltype(cmp1)> pq1(cmp1);
    for (int i = 0; i < size; i++) {
        pq1.push(arr[i]);
    }

    auto cmp2 = [](int a, int b) { return a > b; };
    priority_queue, decltype(cmp2)> pq2(cmp2);
    for (int i = 0; i < size; i++) {
        pq2.push(arr[i]);
    }

    while (!pq1.empty()) {
        cout << pq1.top() << " ";
        pq1.pop();
    }
    cout << endl;

    while (!pq2.empty()) {
        cout << pq2.top() << " ";
        pq2.pop();
    }
    cout << endl;

    return 0;
}

首先定义lambda表达式cmp1,用于从小到大排序,然后定义priority_queue pq1,第一个参数是元素类型,第二个参数是容器类型,第三个参数是比较函数类型,其中decltype(cmp1)用于获取cmp1的类型,注意要在priority_queue后面加上小括号,并将cmp1作为参数传递给它。

然后按照正常的方法将元素加入pq1中。

同样的,使用另一个lambda表达式cmp2,用于从大到小排序,然后定义priority_queue pq2,其余部分与pq1相同。

最后,分别输出pq1和pq2的元素即可。

相关内容

热门资讯

德扑起手牌胜率图!聚星扑克这个... 德扑起手牌胜率图!聚星扑克这个平台靠谱,来玩app德州扑克(详细辅助教程);原来确实真的有挂(需添加...
德扑之星有猫腻!德州wpk辅助... 德扑之星有猫腻!德州wpk辅助,菠萝德州总是真的是有挂(详细ai机器人教程);致您一封信;亲爱德扑之...
wpk提高胜率(wPK)wpk... wpk提高胜率(wPK)wpk辅助透视(透明挂)总是真的有挂(黑科技教程)1、wpkai机器人多个强...
微扑克全自动机器人!微扑克软件... 微扑克全自动机器人!微扑克软件的规律,wepoke外挂(详细辅助挂教程)关于微扑克全自动机器人机制的...
wepoke模拟器!wepow... wepoke模拟器!wepower系统规律,wePOke一贯真的有挂,新版2025教程(有挂介绍)1...
德州之星辅助!德州机器人软件,... 德州之星辅助!德州机器人软件,德州app都是真的是有挂(详细ai机器人教程)是一款可以让一直输的玩家...
wpk发牌逻辑!wPK一般真的... wpk发牌逻辑!wPK一般真的有挂,WPK一直真的有挂,曝光教程(有挂脚本)1、在WPKai机器人技...
wepok软件透明挂!红龙扑克... wepok软件透明挂!红龙扑克可以看底牌,德扑牌力分析软件(详细辅助挂教程);揭秘教程安装方法样式多...
wepoke有挂!wepoke... 1、wepoke有挂!wepoke有辅助,WepOke果真真的有挂,2025新版(有挂攻略);详细教...
德州ai辅助!德州最新辅助器,... 德州ai辅助!德州最新辅助器,线上德州都是真的是有挂(详细ai代打教程)德州ai辅助辅助器中分为三种...