C++ 使用字符串和int对对向量进行排序 化学机械抛光
C++ 使用字符串和int对对向量进行排序 化学机械抛光,c++,stl,C++,Stl,boolcmp(常数对&p1,常数对&p2){ 如果(p1.秒!=p2.秒) 返回p1.second
boolcmp(常数对&p1,常数对&p2){
如果(p1.秒!=p2.秒)
返回p1.second
返回strcmp(p1.first.c_str(),p2.first.c_str());
}
大家好
我试图根据对的第二个元素对向量进行排序。如果该对的第二个
元素相等,则比较对的第一个
元素
我使用上面的代码对包含字符串和int
对的向量进行排序。我正在使用排序堆调用排序函数(vector.begin(),vector.end(),cmp)代码>。但这似乎并不像预期的那样有效 只需使用运算符库即可。我会的。我是个新手
bool cmp(const pair<string, long> &p1, const pair<string, long> &p2)
{
if(p1.second!=p2.second)
return p1.second < p2.second;
return p1.first < p2.first;
}
return strcmp(p1.first.c_str(), p2.first.c_str()) < 0;