use*_*764 0 c++ sorting vector
我有一个字符串向量的向量.这些向量中的第二个字符串是我想要排序的.有没有办法使用std :: sort来做到这一点?
从我可以告诉我应该传入一个struct/class中的函数,但我不确定它应该是什么样子.
定制比较函数,以便比较字符串向量中的第二个元素.
#include <algorithm>
#include <vector>
#include <string>
using std::vector;
using std::string;
bool cmp(const vector<string> &lhs, const vector<string> &rhs)
{
return lhs[1] < rhs[1];
}
vector<vector<string> > vecvecstr;
std::sort(vecvecstr.begin(), vecvecstr.end(), cmp);
Run Code Online (Sandbox Code Playgroud)
std::sort()然后cmp()每当需要进行排序比较时调用.
如果std::sort()省略第3个参数,则调用operator<比较,按字典顺序比较矢量.