当前位置: 首页 > news >正文

priority_queue创建堆

  • 默认情况下,priority_queue 使用最大堆,也就是说,优先级最高的元素会最先出队。
  • 如果你想使用最小堆,可以传入一个自定义的比较函数。

最大堆创建

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

int main() {
    std::priority_queue<int> pq;

    // 向队列中添加元素
    pq.push(10);
    pq.push(5);
    pq.push(15);

    // 输出并移除优先队列中的元素
    while (!pq.empty()) {
        std::cout << pq.top() << " ";  // 打印队列顶部的元素(最大值)
        pq.pop();  // 移除队列顶部的元素
    }
    // 输出:15 10 5
    return 0;
}

最小堆创建

#include <iostream>
#include <queue>
#include <vector>
#include <functional>  // 引入 std::greater

int main() {
    std::priority_queue<int, std::vector<int>, std::greater<int>> pq;

    pq.push(10);
    pq.push(5);
    pq.push(15);

    while (!pq.empty()) {
        std::cout << pq.top() << " ";  // 打印队列顶部的元素(最小值)
        pq.pop();  // 移除队列顶部的元素
    }
    // 输出:5 10 15
    return 0;
}

http://www.dtcms.com/a/25979.html

相关文章:

  • Vue3.5 企业级管理系统实战(七):Sidebar组件开发 1
  • 1-18 GIT设置公钥
  • 容器docker k8s相关的问题汇总及排错
  • 高并发系统架构设计全链路指南
  • Vue学习记录20
  • mac os设置jdk版本
  • 电脑网络图标消失了怎么办?(Windows电脑网络或WiFi图标消失,如何找回?)
  • Vue3 前端路由配置 + .NET8 后端静态文件服务优化策略
  • 蓝桥杯备考:贪心算法之排座位
  • 字符设备驱动
  • 2024华为OD机试真题-第k个排列(C++/Java/Python)-E卷-100分
  • Mac OS JAVA_HOME设置
  • 【数据分析】2.数据分析业务全流程
  • LLM 推理中推理-时间计算技巧
  • debian 12 安装 NVIDIA 390驱动记录
  • 6.3 DBMS的功能和特征
  • 网络安全治理模型
  • 自由学习记录(36)
  • C#的序列化[Serializable()]
  • [AI]docker封装包含cuda cudnn的paddlepaddle PaddleOCR
  • OkHttp使用和源码分析学习(一)
  • 【设计模式】【创建型模式】原型模式(Prototype)
  • 免费搭建个人网站
  • Java 比较器:Comparable vs. Comparator
  • XTOP3D的DIC技术在极端条件下的应用解决方案
  • Pyecharts系列课程07——饼图(Pie)
  • 【AI实践】阿里百炼文本对话Agent安卓版搭建
  • SpringBoot速成概括
  • Dfs分布式文件存储
  • 如何在Windows下使用Ollama本地部署DeepSeek R1