• 大根堆:

    1.priority_queue<int> q;【默认

    2. priority_queue< node,vector<node>,less<node> > q;【自带比较函数

  • 小根堆:

    priority_queue< node,vector<node>,greater<node> > q;【自带比较函数

  • 重载运算符:

   1.定义struct node 之后重载

    这是小根堆

 priority_queue<node>q;//或 priority_queue< node,vector<node>,less<node> >q;
bool operator<(node a,node b)//或写做(const node &a,const, node &b) 更快
{
return a.y>b.y;//以y从小到大排序
}

   2.在定义struct node时重载

 struct node
{
int id,v;
bool operator<(const node &a) const{
return v<a.v;//以v从大到小排序
}
};
priority_queue<node>q;

   3.定义友元操作类重载函数

 struct node
{
int v;
friend bool operator<(const node &a,const node &b){
return a.v<b.v; //按v从大到小排列
}
};
priority_queue<node>q;
  • 自定义比较函数模板结构
 struct cmp
{
bool operator ()(const node &a, const node &b)
{
return a.v>b.v;// 按照v从小到大排列
}
};
priority_queue<node,vector<node>,cmp> q;

最新文章

  1. iPhone socket 编程之BSD Socket篇
  2. linux环境变量LD_LIBRARY_PATH
  3. Oracle Goldengate和Oracle Data Integrator的初步认识
  4. s:iterator标签的使用
  5. c++ 虚继承
  6. Objective-c 集合对象
  7. 程序媛也话Android 之 自定义控件(垂直方向滑动条)
  8. 修改/home内子目录的名字
  9. 关于JAVA正则匹配空白字符的问题
  10. 判断ssh远程命令是否执行结束
  11. AJAX请求返回HTTP 400 错误 - 请求无效 (Bad request)
  12. centos7目录统计之du命令
  13. centos 7安装jdk、tomcat
  14. v-model双向数据绑定
  15. collections之deque【双向队列】与Queue【单向队列】
  16. javascript模式(2)--模块模式
  17. Linq循环DataTable,使用匿名对象取出需要的列
  18. SQL 添加删除列
  19. 分布式网上商城项目-solr搜索功能错误
  20. SpringBoot学习:整合shiro(rememberMe记住我功能)

热门文章

  1. git记录
  2. LeetCode Reverse Bits 反置位值
  3. tomcat 启动显示指定的服务未安装
  4. 远程链接mongoDB robomongo
  5. [Rails学习之路]Rails路由配置
  6. Windows环境下的Chocolatey安装使用
  7. IOS Quartz2D自定义view
  8. 前端知识体系之CSS及其预处理器SASS/LESS
  9. 函数指针 &amp;&amp; 指针函数
  10. CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第六节