没有找到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. 慎重别选择到"僵尸"软件

    何谓僵尸? 没有灵魂,动作单一,我们电视电影上经常看见, 只能往前跳,不会走路, 手向前伸直,左右摆攻击. 何谓"僵尸"软件? 根据僵尸的特性,大概有如下几类: 1.没有任何创新性 ...

  2. Java抓取网页数据(原网页+Javascript返回数据)

    有时候由于种种原因,我们需要采集某个网站的数据,但由于不同网站对数据的显示方式略有不同! 本文就用Java给大家演示如何抓取网站的数据:(1)抓取原网页数据:(2)抓取网页Javascript返回的数 ...

  3. 算法_栈的Java的通用数组实现

    栈是一个常用的最简单的数据结构,这里提供了其实现.内部维护了一个数组,并且可以动态的调整数组的大小.而且,提供了迭代器支持后进先出的迭代功能.Stack的实现是所有集合类抽象数据类型实现的模板,它将所 ...

  4. android下基本json串的生成与解析

    以前就用过json串,不过是在java环境下面,如今转移到android环境下,java里面生成解析json串的jar包与android中自带的冲突,所以也只能用安卓自带的.   先前查网上的资料,感 ...

  5. 列车时刻表查询 jqm/ajax/xml

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  6. [html] src与href的区别

    src用于替换当前元素,href用于在当前文档和引用资源之间确立联系. src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前标签所在位置:在请求src资源时会将其指向的资源下 ...

  7. 使用Java编写一个简单的Web的监控系统cpu利用率,cpu温度,总内存大小

    原文:http://www.jb51.net/article/75002.htm 这篇文章主要介绍了使用Java编写一个简单的Web的监控系统的例子,并且将重要信息转为XML通过网页前端显示,非常之实 ...

  8. VirtualBox没有64位选项,无法安装64位的解决方法(zhuan)

    http://www.askmaclean.com/archives/vbox-virtualbox-64-bit.html ************************************* ...

  9. 转!!URL和URI区别

    URI,URL,URN 从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN.这讨论这样的问题时,最好的方法就是回到原点啊,这里我们在RFC 3986: Uniform Resourc ...

  10. jQuery的单选,复选,下拉

    单选 获取 ($('input:first').attr('vlaue')); 选中 ($('input:checked').val()); 属性值的设置$().val(属性值)$('input:fi ...