C++ STL priority_queue

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 

你可能感兴趣的:(C++,STL)