创想实验室
我们都是梦想家

C++ STL容器—优先队列—priority_queue

使用场景

priority_queue是优先队列,与queue不同,它默认容器类型是vector,queue是deque。

它有首端(top)和尾端(back),每次加入按优先级插入适当位置,每次弹出都从首端弹出(弹出优先级最高的),访问则首尾都可以(访问优先级最高或者最低的)。适合对元素优先级有要求的宽度优先搜索等应用场景。(应用灵活,元素种类可以是int类等的基本类型,也支持自定义数据类型,如struct结构体)

相关bfs题目请直接右上角搜索bfs~

定义方法

要使用队列priority_queue,就要包含头文件queue,并且priority_queue是定义在名空间std下的,还要使用名空间std。

优先队列如果是基本类型,默认是从大到小排列,top端为大。一般来说我们当然要定义比较函数。

优先队列及其各种比较函数定义方式如下

queue的操作

 

网站所发布的代码已提交通过,代码可能经过修改防止抄袭,未经允许不得转载:创想实验室 » C++ STL容器—优先队列—priority_queue
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址