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