pair类型在priority_queue中是如何排序的

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef pair<int,int> node_pair;
 4 int main(){
 5     priority_queue<node_pair,vector<node_pair>,greater<node_pair> > q;
 6     q.push(make_pair(10,5));
 7     q.push(make_pair(5,15));
 8     q.push(make_pair(5,10));
 9     while(!q.empty()){
10         node_pair t = q.top();
11         q.pop();
12         cout << t.first << " " << t.second << endl;
13     }
14     return 0;
15 }
16
17 /*
18     输出:
19         5 10
20         5 15
21         10 5
22     总结:
23         pair类型放入优先队列中总是先比较first的大小,相同在比较second的大小
24 */

原文地址:https://www.cnblogs.com/zhangqiling/p/12534211.html

时间: 2024-11-05 20:20:48

pair类型在priority_queue中是如何排序的的相关文章

STL之pair类型具体分析

pair定义于头文件utility中.基本的作用是将两个数据组合成一个数据,两个数据能够是同一类型或者不同类型. pair类型提供的操作: pair<T1,T2> p1; pair<T1,T2> p1(v1,v2); make_pair(v1,v2); p1 < p2; p1 == p2; p.first; p.second; 创建和初始化: pair<string,string> name; pair<string,vector<int>>

STL之pair类型详细分析

pair定义于头文件utility中,主要的作用是将两个数据组合成一个数据,两个数据可以是同一类型或者不同类型. pair类型提供的操作: pair<T1,T2> p1; pair<T1,T2> p1(v1,v2); make_pair(v1,v2); p1 < p2; p1 == p2; p.first; p.second; 1.创建和初始化: pair<string,string> name; pair<string,vector<int>&

(翻译)如何对python dict 类型按键(keys)或值(values)排序

如何对dict类型按键(keys)排序(Python 2.4 或更高版本): mydict = {'carl':40, 'alan':2, 'bob':1, 'danny':3} for key in sorted(mydict.iterkeys()): print "%s: %s" % (key, mydict[key]) 结果: alan: 2 bob: 1 carl: 40 danny: 3 摘自 Python FAQ: http://www.python.org/doc/faq

Basic4Android中按日期排序文件

#Region Project Attributes #ApplicationLabel: SortByDateFileTest #VersionCode: 20140627 #VersionName: 'SupportedOrientations possible values: unspecified, landscape or portrait. #SupportedOrientations: unspecified #CanInstallToExternalStorage: False

iOS中数组的排序方法

1函数介绍与实例 函数一:- (void)sortUsingSelector:(SEL)comparator; 适用于数组中的元素自带比较函数时: 数组排序函数,调用该函数的对象为数组,comparator是调用该函数的数组中的元素的方法.函数参数类型为数组中的元素类型或者id类型,在调用时不需要传递参数,排序过程不可见,该函数执行时:循环取出各个元素,进行比较,然后放到合适的位置 使用实例: 将数组中的元素按照字符串大小排序: NSMutableArray*array = [[NSMutabl

pair类型 这次遇到了,记录下来,方便彼此xue习

首先,这个pair类型是在头文件utility.h中. 一个piar保存两个数据成员,是用来生成特定类型的模板,当创建一个pair时,我们必须提供两个类型名,pair的数据成员将具有对应的类型,两个类型不要求一样:如下: pair<string,string> anon;//保存两个string pair<string,size_t> word_count;//保存一个string和一个size_t; pair<string,vector<int>> lin

sqlserver中将varchar类型转换为int型再进行排序的方法

sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话 如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话我们是不希望看到如下情况的. 我们可以把varchar转换为int 然后进行排序 一. 复制代码代码如下: select * from yourtable order by cast(yourcol as int); 适用于SQLServer Oracle 二. 复制代码代

C#中List&lt;T&gt;排序

在面向对象开发过程中我们经常将一组对象放到一个特定集合中,此时我们通常使用泛型集合来存放,常见的如:List.Dictionary等.在使用这些泛型集合时我们有时需要对其进行排序,下面我们就一起学习下List<T>是如何进行排序的. 1.初始化集合 假如我们有一个Student对象,简单起见这个对象只有三个属性,分别是学号.姓名.年龄. namespace YDSLM_KT_SYSTEM.App_Code.Model{    public class Student    {        p

C++pair类型

标准库类型--pair类型定义在utility头文件中定义 本文地址:http://www.cnblogs.com/archimedes/p/cpp-pair.html,转载请注明源地址. 1.pair的创建和初始化 pair包含两个数值,与容器一样,pair也是一种模板类型.但是又与之前介绍的容器不同,在创建pair对象时,必须提供两个类型名,两个对应的类型名的类型不必相同 pair<string,string>anon; pair<string,int>word_count;