2015-06-02 1 views
0

У меня есть вектор векторов, и я хочу, чтобы отсортировать его по размеру каждого вектора! как я мог это сделать! Я хочу использовать функцию сортировки, но я не могу найти какой-либо параметр в функции сортировки, который определяет, я хочу, чтобы отсортировать его с размером каждого содержаниярода вектор векторов в C++ по размеру каждого вектора

+2

См (2) в описании [ 'станд :: 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(); }); 

Это код сортирует векторы от минимального до самого большого.

Смежные вопросы