小编Ang*_*ala的帖子

如何按第二个元素对向量对进行降序排序?

我正在应对编程挑战,在提出问题之前我已经看过这个主题:

对向量的元素进行排序,其中每个元素是一对[重复]

如何根据对的第二个元素对向量对进行排序?

情况是这样的:

-我有我的向量对:vector< pair<int, int> > rank;

-我已经实现了一个谓词来按第二个元素并按降序对成对的向量进行比较和排序:

struct predicate
{
    bool operator()(const std::pair<int, int> &left, const std::pair<int, int> &right) 
    {
         return left.second < right.second;
    }
}

sort(rank.rbegin(), rank.rend(), predicate());
Run Code Online (Sandbox Code Playgroud)

编程挑战将为第二个元素提供重复的值,在这种情况下,我必须将第一个元素按其插入向量对的时间排序,例如:

电压
1 3
2 4
4 5
33 3

排序必须是:

4 5
2 4
1 3
33 3

当我用我设计的测试用例测试我的解决方案时,问题就出现了:

电压
1 2
16 3
11 2
20 3
18 2
39 39
23 22
12 19
123 4
145 6
3 5
26 4
9574 4 …

c++ sorting std-pair

2
推荐指数
1
解决办法
9654
查看次数

标签 统计

c++ ×1

sorting ×1

std-pair ×1