在C++中按每个向量的大小对向量的向量进行排序

4

我有一个向量的向量,我想按每个向量的大小对它进行排序!该怎么做!我想使用sort函数,但是我找不到任何参数来确定我想按内容大小进行排序。


2
请查看std::sort的描述中的(2),然后向下滚动到第二个示例,该示例演示了如何使用它。 - WhozCraig
每个向量都有一个方法 size()。 - user4651282
1个回答

10

你只需要指定一个谓词:

vector<vector<int>> vecs;
vecs.push_back(vector<int>(4));
vecs.push_back(vector<int>(2));
vecs.push_back(vector<int>(1));
vecs.push_back(vector<int>(3));

std::sort(vecs.begin(), vecs.end(), [](const vector<int> & a, const vector<int> & b){ return a.size() < b.size(); });

这段代码将向量从小到大排序。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接