友好链接:CSDN
https://mp.csdn.net/mp_blog/creation/editor/131597936
有的时候需要将一些数据存储在pair当中,并且根据pair中的first和second的值进行排序,比如:输入数据(1,2)、(4,2)、(3,3)、(2,1)根据first的值大小进行升序排序,输出(1,2)、(2,1)、(3,3)、(4,2)。
sort函数默认升序排列,如果需要降序排列的话需要自己写一个函数,其实也很简单。
typedef pair<int,int> PII;
//降序函数
bool cmp1(int a, int b)
{
return a>b;//升序则为a<b
}
//改成相应的参数
bool cmp2(PII a, PII b)
{
return a.first<b.first;//根据fisrt的值升序排序
//return a.second<b.second;//根据second的值升序排序
}
//如何调用
sort(vec.begin(),vec.end(),cmp1);//降序排列
排列后的结果如下所示