STL—利用pair和vector对有序对类型排序

最近在学习算法的时候,在搜索算法中偶然碰到了对有序对的排序问题,解法如下。

在讲到该排序前,首先需掌握相关必要的知识。

一、有关pair的知识

pair是一种系统自带的模板类型。在数据结构中,pair的作用生成有序数对,拥有两个值,也支持自定义的struct结构类型。

pair的使用

pair<type1,type2>m_variable;

其中,type1和type2是两种数据类型,可以相同也可不同,也可以是自定义的struct结构;m_variable是pair类型的一个有序对的变量名,例如:

pair<int,int>m_pair1;
pair<double,string>m_pair2;

pair模板拥有函数make_pair,该函数的作用即将已存在的两个变量组成有序对。例如:

int var1=10,var2=5;
pair<int,int>p1=(var1,var2);
string str="second";
pair<int,string>p2=make_pair(var1,str);
二、排序

定义一种排序方式,升序或是降序


定义vector并进行排序


完整代码如下(不包括main函数代码)



  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值