没有找到priority_queue里存放pair不用typedef的方法...大概第一次觉得这个有用吧...

优先队列里和sort函数对pair 的默认排序是first从小到大,second从小到大,可以自定义cmp比较函数。

测试代码:

#include <stdio.h>
#include <string.h>
#include <queue>
#include <vector>
#include <iostream>
using namespace std; int main() {
int t;
while(cin >> t) {
typedef pair<int, int>pa;
priority_queue<pa, vector<pa>, greater<pa> >que;
while(t--) {
int a, b;
cin >> a >> b;
pa pairr = make_pair(a, b);
que.push(pairr);
}
cout << "output-----------\n";
while(!que.empty()) {
pa pairr = que.top();
cout << pairr.first << " " << pairr.second << endl;
que.pop();
}
cout << "==========\n";
}
return 0;
}

  

测试代码:

#include <stdio.h>
#include <string.h>
#include <queue>
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std; typedef pair<int, int>pa; bool cmp(pa a, pa b) {
if (a.second != b.second)
return a.second > b.second;
else return a.first > b.first;
} int main() {
int t;
while(cin >> t) {
pa pairs[10];
for (int i=0; i<t; ++i) {
int a, b;
cin >> a >> b;
pairs[i] = make_pair(a, b);
} cout << "output-----------\n";
sort(pairs, pairs+t);
for (int i=0; i<t; ++i) {
cout << pairs[i].first << " " << pairs[i].second << endl;
}
cout << "==========\n"; cout << "output-----------\n";
sort(pairs, pairs+t, cmp);
for (int i=0; i<t; ++i) {
cout << pairs[i].first << " " << pairs[i].second << endl;
}
cout << "==========\n";
}
return 0;
}

  

  

C++ STL pair的更多相关文章

  1. C++ STL pair详解

    一.解释: p { margin-bottom: 0.25cm; direction: ltr; color: #00000a; line-height: 120%; text-align: left ...

  2. STL——pair

    功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问. #include <bits/stdc++ ...

  3. STL pair类型的介绍

    pair标准库类型它定义在头文件utility中. 一个pair保存两个数据成员.类似容器,pair是一个用来生成特定类型的模板.当创建一个pair时,我们必须提供两个类型名,pair的数据成员将具有 ...

  4. STL pair 常见用法详解

    <算法笔记>学习笔记 pair 常见用法详解 //pair是一个很实用的"小玩意",当想要将两个元素绑在一起作为一个合成元素, //又不想因此定义结构体时,使用pair ...

  5. Linux环境下stl库使用(map)

    例子1: testMap.cpp #include <string.h> #include <iostream> #include <map> #include & ...

  6. make_pair

    Utilities <utility> 由短小精干的类和函数构成,执行最一般性的工作. 这些工具包括: general types 一些重要的C函数 numeric limits Pair ...

  7. ACM在线模板

    转载自:https://blog.csdn.net/f_zyj/article/details/51594851 Index 分类细则 说起分类准则,我也是很头疼,毕竟对于很多算法,他并不是单调的,而 ...

  8. 【转】c++ make_pair函数使用

    [好记性不如烂笔头:在<C++ Templates>看到这个函数,发现正是前段时间写项目程序所要用到的,可惜当时还不知道有这个用法,当时是自己写了个结构体..]Utilities < ...

  9. [CF1053C]Putting Boxes Together(线段树)

    http://codeforces.com/blog/entry/62013 两个结论: 1.一定有一个箱子不用动. 2.不动的箱子一定是加权前缀和为S/2的那个. 1显然,2由1易得. 于是问题变为 ...

随机推荐

  1. JMS【一】--JMS基本概念

    摘要:The Java Message Service (JMS) API is a messaging standard that allows application components bas ...

  2. 2013 Multi-University Training Contest 9

    HDU-4687 Boke and Tsukkomi 题意:给定一个简单图,询问哪些边如果选择的话会使得最大的连边数减少. 解法:套用一般图的最大匹配算法(带花树)先算出最大匹配数,然后枚举一条边被选 ...

  3. Mysql数据库实践操作之————批量插入数据(100万级别的数据)

    第一种方法:使用insert into 插入 从Redis每次获取100条数据,根据条件去插入到Mysql数据库中: 条件: 如果当前队列中的值大于1000条,则会自动的条用该方法,该方法每次获取从队 ...

  4. 12/09 Oracle练习之新建表

  5. mysql 索引的原理

    1.考虑下面的情况,mysql> desc student;+----------+-------------+------+-----+---------+-------+| Field | ...

  6. 巧妙的实现 CSS 斜线(炫酷的小效果)

      开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果 ...

  7. Erlang安装笔记

    今天,为了安装RabbitMQ,需要安装Erlang,中间遇到了一些坑,记录下来. 1. 下载Erlang安装包 http://www.erlang.org/downloads http://erla ...

  8. jstree级联查找树

    <script > obj=$.jstree.reference($('#plugins4')); function PP(obj,e,filename){ if (obj.get_par ...

  9. 国内外比较出名的做MySQL的公司以及原因

      做MySQL比较出名的公司和原因 公司 原因 Oracle 名门正派 MariaDB 不断出MySQL新feature,功能比Oracle版的要多,更新速度快 Percona DBA工具出名 we ...

  10. cocos2dx与Lua以及quick cocos

    1.cocos2dx中的脚本架构与组件 2.quick cocos的开发优势 3.自定义c++类如何导出到lua