比较有两种重载,一种是类内部的bool operator<( 只有一个参数 ),当然bool operator< 也可以拿到类的外面;另外一种是写一个cmp,利用cmp返回作为sort的第三个参数,就是这样。个人觉得还是重载operator<会简单一些,这里上代码:

#include <iostream>
#include <stdio.h>
#include <queue>
#include <stdlib.h>
#include <functional>
#include <algorithm>
using namespace std;
class Node{
public:     int x, y;Node( int a= 0, int b= 0 ):x(a),y(b) {}bool operator<(Node m)const{return x<m.x;}
};/*
重载可以放在外面,不用const修饰
bool operator<( Node a, Node b ){if( a.x== b.x ) return a.y> b.y;return a.x> b.x;
}
*/int main()
{priority_queue<Node> q;vector<Node> qq;for( int i= 0; i< 10; ++i ){q.push( Node( rand(), rand() ) );qq.push_back( Node( rand(),rand() ) );}sort(qq.begin(),qq.end());printf("The result of q is :\n");while( !q.empty() ){cout << q.top().x << ' ' << q.top().y << endl;q.pop();}printf("The result of qq is :\n");for(int i=0;i<qq.size();i++){printf("%d %d\n",qq[i].x,qq[i].y);}    return 0;
}

STL priority_queue sort 自定义比较终极模板相关推荐

  1. STL应用--SORT自定义排序

  2. 从八大经典排序模版具体实现(包含自定义仿函数)到STL的sort函数灵活运用

    文章目录 八大经典排序模版 1.模版 1.0.理解模版 1.2.函数模版 2.仿函数 2.1.什么是仿函数? 2.2.模版与仿函数示例演示 3.排序 3.0.0.排序分类 3.0.1.什么是排序稳定性 ...

  3. 【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)

    C++ 泛型编程 中的泛型算法和STL(sort,find,find) 1. 引言 1.1 简述泛型编程和STL的重要性 1.2 介绍泛型算法的基本概念 2. STL中的泛型算法 2.1 定义及主要特 ...

  4. [转载]详细解说STL排序(sort)------这篇博文在一道题上救了我o_0

    详细解说 STL 排序(Sort) 作者Winter 原文地址:http://www.cppblog.com/mzty/archive/2005/12/15/1770.html 详细解说 STL 排序 ...

  5. [STL]priority_queue

    [STL]priority_queue 由于merge k sorted lists要用到优先队列,所以参看各种博客.现在总结一下. 按默认规定,priority_queue简单地用<<s ...

  6. 组策略(八)使用使用自定义RealVNC adm模板对域内工作站设置统一标准设置

    VNC是网络远程管理的利器.VNC软件主要由两个部分组成:VNC Server及VNC Viewer.用户需先将VNC Server安装在被控端的计算机上后,才能在主控端执行VNC Viewer控制被 ...

  7. 自定义Word样式模板,设置为默认模板

    文章目录 前言 一.具体操作步骤 前言 由于在大学毕业写论文的时候,论文格式的要求十分严格,但是在完成论文编辑之后,发现这个论文的格式样式对于今后word排版大有益处,于是就将该论文的格式样式保存在一 ...

  8. php自定义函数数学计算,ThinkPHP自定义函数解决模板标签加减运算的方法

    本文实例讲述了ThinkPHP自定义函数解决模板标签加减运算的方法.分享给大家供大家参考.具体如下: 实际项目中,我们经常需要标签变量加减运算的操作.但是,在ThinkPHP中,并不支持模板变量直接运 ...

  9. django自定义过滤器及模板标签

    django自定义过滤器及模板标签 文件路径配置: 某个app特有的 -app 目录下,新建templatetags 文件夹 -再到 templatetags 文件夹下创建python模块(py文件) ...

最新文章

  1. 院士口中的“现代人知识结构”,学者推崇的“效率公民必备”,统计思维到底有什么了不起?...
  2. JSON学习笔记-3
  3. Notepadd++主题推荐
  4. redis 判断存在性_Redis如何保证接口的幂等性?
  5. CodeForces - 1450E Capitalism(差分约束)
  6. 像素包装:在内存中并不以紧密形式排列
  7. 一文读懂视频监控系统全过程内容
  8. 张平文院士:展示计算数学的魅力
  9. 深度学习笔记(6) 实践层面(一)
  10. 如何使用自动化与分析工具库创建 Excel 直方图
  11. 真人发音计算机怎么弄成音乐模式,文字转语音真人发声怎么转换?简单教程分享...
  12. 球坐标系下拉普拉斯方程求解(Laplace equation)二
  13. Linux Shell脚本教程(bash)
  14. 【Java】使用JavaMail发送qq邮件
  15. 数据库原理及应用习题三
  16. android file assets,关于Android Assets读取文件为File对象
  17. KW代码检查规则-RLK.JNDI
  18. R 语言的表格合并(实际运用)
  19. pta基础编程题目集 7-1 厘米换算英尺英寸
  20. PHP 异步并行编程_韩天峰

热门文章

  1. 利用FFmpeg生成视频缩略图 2.1.8
  2. 让我们山寨一张Windows Azure Global的壁纸
  3. 给Jquery easyui 的datagrid 每行增加操作链接(转载)
  4. 移动硬盘格式从RAW修复成ntfs的方法
  5. Oracle SQL Perfomance Tuning
  6. python3 random函数_Python3 中 random模块
  7. verilog 浮点转定点_浮点数0.1+0.2为何不等于0.3
  8. Andorid SQLite数据库开发基础教程(3)
  9. Xamarin Android权限请求
  10. 闪迪U3利用工具U3-Pwn