STL priority_queue sort 自定义比较终极模板
比较有两种重载,一种是类内部的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 自定义比较终极模板相关推荐
- STL应用--SORT自定义排序
- 从八大经典排序模版具体实现(包含自定义仿函数)到STL的sort函数灵活运用
文章目录 八大经典排序模版 1.模版 1.0.理解模版 1.2.函数模版 2.仿函数 2.1.什么是仿函数? 2.2.模版与仿函数示例演示 3.排序 3.0.0.排序分类 3.0.1.什么是排序稳定性 ...
- 【C++ 泛型编程 入门篇】 C++ 中的泛型算法 STL(sort,find)
C++ 泛型编程 中的泛型算法和STL(sort,find,find) 1. 引言 1.1 简述泛型编程和STL的重要性 1.2 介绍泛型算法的基本概念 2. STL中的泛型算法 2.1 定义及主要特 ...
- [转载]详细解说STL排序(sort)------这篇博文在一道题上救了我o_0
详细解说 STL 排序(Sort) 作者Winter 原文地址:http://www.cppblog.com/mzty/archive/2005/12/15/1770.html 详细解说 STL 排序 ...
- [STL]priority_queue
[STL]priority_queue 由于merge k sorted lists要用到优先队列,所以参看各种博客.现在总结一下. 按默认规定,priority_queue简单地用<<s ...
- 组策略(八)使用使用自定义RealVNC adm模板对域内工作站设置统一标准设置
VNC是网络远程管理的利器.VNC软件主要由两个部分组成:VNC Server及VNC Viewer.用户需先将VNC Server安装在被控端的计算机上后,才能在主控端执行VNC Viewer控制被 ...
- 自定义Word样式模板,设置为默认模板
文章目录 前言 一.具体操作步骤 前言 由于在大学毕业写论文的时候,论文格式的要求十分严格,但是在完成论文编辑之后,发现这个论文的格式样式对于今后word排版大有益处,于是就将该论文的格式样式保存在一 ...
- php自定义函数数学计算,ThinkPHP自定义函数解决模板标签加减运算的方法
本文实例讲述了ThinkPHP自定义函数解决模板标签加减运算的方法.分享给大家供大家参考.具体如下: 实际项目中,我们经常需要标签变量加减运算的操作.但是,在ThinkPHP中,并不支持模板变量直接运 ...
- django自定义过滤器及模板标签
django自定义过滤器及模板标签 文件路径配置: 某个app特有的 -app 目录下,新建templatetags 文件夹 -再到 templatetags 文件夹下创建python模块(py文件) ...
最新文章
- 院士口中的“现代人知识结构”,学者推崇的“效率公民必备”,统计思维到底有什么了不起?...
- JSON学习笔记-3
- Notepadd++主题推荐
- redis 判断存在性_Redis如何保证接口的幂等性?
- CodeForces - 1450E Capitalism(差分约束)
- 像素包装:在内存中并不以紧密形式排列
- 一文读懂视频监控系统全过程内容
- 张平文院士:展示计算数学的魅力
- 深度学习笔记(6) 实践层面(一)
- 如何使用自动化与分析工具库创建 Excel 直方图
- 真人发音计算机怎么弄成音乐模式,文字转语音真人发声怎么转换?简单教程分享...
- 球坐标系下拉普拉斯方程求解(Laplace equation)二
- Linux Shell脚本教程(bash)
- 【Java】使用JavaMail发送qq邮件
- 数据库原理及应用习题三
- android file assets,关于Android Assets读取文件为File对象
- KW代码检查规则-RLK.JNDI
- R 语言的表格合并(实际运用)
- pta基础编程题目集 7-1 厘米换算英尺英寸
- PHP 异步并行编程_韩天峰
热门文章
- 利用FFmpeg生成视频缩略图 2.1.8
- 让我们山寨一张Windows Azure Global的壁纸
- 给Jquery easyui 的datagrid 每行增加操作链接(转载)
- 移动硬盘格式从RAW修复成ntfs的方法
- Oracle SQL Perfomance Tuning
- python3 random函数_Python3 中 random模块
- verilog 浮点转定点_浮点数0.1+0.2为何不等于0.3
- Andorid SQLite数据库开发基础教程(3)
- Xamarin Android权限请求
- 闪迪U3利用工具U3-Pwn