现在的位置: 首页 > 综合 > 正文

C++ STL priority_queue

2019年06月07日 ⁄ 综合 ⁄ 共 553字 ⁄ 字号 评论关闭

priority_queue 优先级队列是一个拥有权值概念的单向队列queue,在这个队列中,所有元素是按优先级排列的(默认排序准则为元素从大到小排列,也就是值大的元素排在队列的头部,也可以自己定制仿函数作为排序准则)。在计算机操作系统中,优先级队列的使用是相当频繁的,进线程调度都会用到。在STL的具体实现中,priority_queue也是以别的容器作为底部结构,再根据堆的处理规则来调整元素之间的位置


#include <iostream>
#include <queue>
#include <iterator>
#include <numeric>
using namespace std;

int main(){
priority_queue<float> q;
q.push(66.6);
q.push(22.2);
q.push(44.4);

cout<<q.top()<<' ';
q.pop();

cout<<q.top()<<endl;
q.pop();

q.push(11.1);
q.push(55.5);
q.push(33.3);
q.pop();

while(!q.empty()){
cout<<q.top()<<' ';
q.pop();
}
cout<<endl;

return 1;
}

编译后输出:

66.6 44.4
33.3 22.2 11.1 

抱歉!评论已关闭.