2015-06-02 30 views
0

我有一個矢量矢量,我想按照每個矢量的大小對它進行排序! 我怎麼能這樣做! 我想使用排序功能,但我不能找到排序函數,確定我想將它與每個內容的大小來排序任何參數根據每個矢量的大小對C++中的矢量進行排序

+2

請參閱(2)在['std :: sort'](http://en.cppreference.com/w/cpp/algorithm/sort)的說明中,然後輪到第二個示例,該示例演示如何使用它。 – WhozCraig

+0

每個矢量都有方法大小() –

回答

2

你只需要指定謂詞:

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(); }); 

這代碼按照最小到最大的順序排列矢量。