如何通过第二个元素对一对矢量v []进行排序

时间:2018-01-08 19:04:44

标签: sorting vector

我有一对向量数组{V [x] .push_back(make_pair(y,w));} 我想按第二个元素排序,即。 by w。如何在c ++中完成?

1 个答案:

答案 0 :(得分:0)

您需要将比较函数作为第三个参数传递给sort函数。就像你提到的那样,你的矢量就是这样的形式:

 {V[x].push_back(make_pair(y,w));}

然后比较功能如下:

bool greaterThan( pair<int,int> lx, pair<int,int> rx ){
    return lx.second < rx.second; //change here for different criterias
}

//used as
sort(V[x].begin(), V[x].end(), greaterThan);