C++ STL priority_queue
C++ STL priority_queue 标签: c++ vector 2012-10-02 18:29 17801人阅读 评论 (3) 收藏 举报 分类: ACM(9) priority_queue 对于基本类型的使用方法相对简单。他的模板声明带有三个参数,priority_queue<Type, Container, Functional> Type 为数据类型, Container 为保存数据的容器,Functional 为元素比较方式。 Container 必须是用数组实现的容器,比如 vector, deque 但不能用 list. STL里面容器默认用的是 vector. 比较方式默认用 operator< , 所以如果你把后面俩个参数 缺省的话,优先队列就是大顶堆,队头元素最大。 看例子 [cpp] view plain copy #include <iostream> #include <queue> using namespace std; int main(){ priority_queue< int ,vector< int >,less< int > >q; //使用priority_queue<int> q1;一样 for ( int i=0;i<10;i++) q1.push(i); while (!q1.empty()){ cout<<q1.top