有时我们需要往 vector 容器中插入 “键值对(pair
static bool cmp(const pair
& a, const pair & b)
{
// 以pair对的第2个数的大小从大往小排序
return a.second > b.second;
}
sort(scores.begin(),scores.end(),
[](const pair& a, const pair & b){ return a.second > b.second; });
// lambda表达式
#include
#include
#includeusing namespace std;
static bool cmp(const pair
& a, const pair & b)
{
// 以pair对的第2个数的大小从大往小排序
return a.second > b.second;
}int main()
{
vector> scores;
scores.push_back(make_pair(1, 3));
scores.push_back(make_pair(2, 1));
scores.push_back(make_pair(3, 2));
cout<<"before sort : "<for(int i = 0; i < scores.size(); i++)
{
cout<}
//sort(scores.begin(), scores.end(), cmp); // 向算法传递函数
sort(scores.begin(),scores.end(), [](const pair& a, const pair & b){ return a.second > b.second; }); // lambda表达式
cout<<"after sort : "<for(int i = 0; i < scores.size(); i++)
{
cout<}
return 0;
}
下图结果是按 pair
