c++优先队列 自写比较函数 详解

本文详细解析了C++中的优先队列,包括其在头文件`queue`中的定义,以及如何处理自定义数据类型的比较问题。通过实例展示了如何在自定义类中定义`<`运算符以实现最小堆,以及如果不使用类内定义,如何创建一个外部比较函数类来完成相同功能。此外,还介绍了优先队列的基本操作。
摘要由CSDN通过智能技术生成

c++优先队列官方文档

在c++中优先队列,有自己的库
包含在头文件queue

template <class T, class Container = vector<T>,
  class Compare = less<typename Container::value_type> > class priority_queue;

第一个元素是元素类型,可以为自己定义的,或者基本数据类型。
第二个是容器数据类型,默认是vector。
第三个是比较函数,默认调用 <
一般来说,我们可以省略后两个元素,但是在很多情况下,如自定义的数据类型,对于若未定义 < 就会出现错误。
因此,我们需要手写比较函数,或者定义相关的 <;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值