您的位置:首页 > 其它

STL中优先队列的使用方法

2013-11-10 20:00 387 查看
转载请注明出处:http://blog.csdn.net/a1dark

头文件

#include<queue>

声明方式:

1、普通方法:

priority_queue<int>q;

2、自定义优先级:

struct cmp{

bool operator()(int x,int y){

return x>y;

}

}

priority_queue<int ,vector<int>,cmp>q;//其中第二个参数为容器类型。第三个参数为比较函数。

3、结构体声明方式:

struct node{

int x,y;

friend bool operator<(node a,node b){

return a.x>b.x;//结构体中,X小的优先级高

}

};

priority_queue<node>q;

//在该结构中,Y为值,X为优先级。

//通过自定义operator<操作符来比较元素中的优先级。

//在重载“<”时,最好不要重载“>”,可能会发生编译错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息