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

来源:互联网 发布:excel重复数据合并 编辑:程序博客网 时间:2024/04/27 16:33

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

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

一、有关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函数代码)



0 0
原创粉丝点击