首页 > 编程语言 > 详细

C++ priority_queue(优先队列)

时间:2021-07-16 10:46:42      阅读:13      评论:0      收藏:0      [点我收藏+]

priority_queue是C++的优先队列,优先队列是指具有在出队时,最高优先级的元素先出特征的队列。

其头文件为#include <queue>

priority_queue操作与queue类似,但priority_queue在入队和出队时会对内部元素按规则进行排序。

其定义为

template<class _Ty,class _Container = vector<_Ty>,class _Pr = less<typename _Container::value_type> >
class priority_queue

 

_Ty 是指队列元素的数据类型

_Container 是指队列的容器类型,默认是vector,只能使用顺序存储的容器如vector,不能使用链式存储的容器如list。

_Pr 是指排序的规则,默认是 less<>,即降序排列,大顶堆,可修改为greater<>,greater_equal<>,less_equal<>等,也可进行自定义,以less_equal为例:

struct less_equal
{ 
    constexpr bool operator()(const _Ty& _Left, const _Ty& _Right)     const
    {    
        return (_Left <= _Right);
    }
};

操作与queue类似,在此不赘述。

 

C++ priority_queue(优先队列)

原文:https://www.cnblogs.com/mshentaiBlog/p/15018659.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!