如何按对的第二个值对<pair <unsigned int,double >>>进行排序?

Lui*_*uis 4 c++ set

正如标题所说,我已经建立了一个setpair,我需要通过有序值double value(秒):

set<pair<unsigned int, double> > s

max*_*eff 10

你应该使用比较器:

struct Cmp
{
    bool operator ()(const pair<unsigned int, double> &a, const pair<unsigned int, double> &b)
    {
        return a.second < b.second;
    }
};
Run Code Online (Sandbox Code Playgroud)

然后你可以定义你的集合:

set <pair<unsigned int, double>, Cmp> your_set;
Run Code Online (Sandbox Code Playgroud)