prority_queue 的用法 实例
2016-03-08 21:11
357 查看
①默认的队列 int按照从大至小
②将pair pa按pa.first从小至大排列
③将int数按照从小至大排列
④将node按照priority的大小从大到小排列 如果是从大到小 应该改成>吧。。
最后代码为转,可调试最后一个用法
priority_queue<int>;
②将pair pa按pa.first从小至大排列
typedef pair<int,int> pa; priority_queue<<pa,vector<pa>,greater<pa>> que;
③将int数按照从小至大排列
priority_queue<int,vector<int>,greater<int>> que ; ///其中,第二个函数是容器类型,第三个参数是比较函数
④将node按照priority的大小从大到小排列 如果是从大到小 应该改成>吧。。
struct node { friend bool operate<() { return n1.priority<n2.priority(); } int priority; int value; };
#include<iostream> #include<functional> #include<queue> using namespace std; struct node { friend bool operator< (node n1, node n2) { return n1.priority < n2.priority; } int priority; int value; }; int main() { const int len = 5; int i; priority_queue<node> qn; node b[len]; b[0].priority = 6; b[0].value = 1; b[1].priority = 9; b[1].value = 5; b[2].priority = 2; b[2].value = 3; b[3].priority = 8; b[3].value = 2; b[4].priority = 1; b[4].value = 4; for(i = 0; i < len; i++) qn.push(b[i]); cout<<"优先级"<<'\t'<<"值"<<endl; for(i = 0; i < len; i++) { cout<<qn.top().priority<<'\t'<<qn.top().value<<endl; qn.pop(); } return 0; }
最后代码为转,可调试最后一个用法
相关文章推荐
- 浅谈UI—视图的文本编辑方法
- 点击 UITextField 清除按钮,文本框中内容清除
- CI和UEditor集成
- POJ 3061 Subsequence
- android 6.0 SystemUI源码分析(4)-StatusBar显示流程
- UIButton 关灯小实验
- UITableView 单元格自定义个别不能滑动删除
- UIButton选中状态下的点击
- UI更新操作
- UICollectionView如果在数据不够一屏时上下滚动
- 子线程中更新主线程中的UI
- HDU 1159.Common Subsequence【动态规划DP】【3月8】
- SpannableString与SpannableStringBuilder
- UICollectionView
- 错误 finished with non-zero exit value 1
- Handler、Looper、MessageQueen、Message的关系及个人理解
- Java图形化用户界面(GUI)笔记(一)介绍
- ZOJ 3333 Guess the Price
- Java中String、StringBuffer和StringBuilder的区别
- 【Xamarin挖墙脚系列:代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧(转)】