STL priority_queue自定义排序实现
当使用优先队列适配器是,如果我们想根据自己的需求实现排序,该怎么做呢?
具体问题可见leetcode 23 合并K个升序链表
函数对象
首先来回顾一下什么叫做函数对象?
函数对象就是一个重载了()运算符的类的对象,这样就可以直接使用‘对象()’的方式,就像调用函数一样。
在STL中,priority_queue的定义如下,其中第三个参数std::less
template
typename Compare=std::less
方法一 使用自定义函数对象
无论基础数据类型,还是类对象数据类型,都可以使用函数对象自定义的排序规则
template
class cmp
{
public:
//重载 () 运算符
bool operator()(T a,
共有 0 条评论