сортировка векторов на основе размера ()

у меня есть 2-й вектор как vector < vector < coordinates > > v( points); где класс координат:

class coordinate{
    public :
    int x;
    int y;
    coordinate(){
        x=0;
        y=0;
    }

};

и точки равняются 20. как отсортировать отдельные векторы v [я] на основе v [я] .size (), т.е. на основе количества объектов координат, продвинутых в v [я].???

5
задан Frank 4 March 2010 в 11:39
поделиться

2 ответа

  1. , создайте функцию, в которой вы можете использовать любые атрибуты для сравнения объектов, а затем использовать алгоритм сортировки STL () для сортировки контейнера.

  2. перегружают операцию <этого класса и делают ее такой же, как указанная выше функция. Затем вы можете использовать функцию sort (), предоставляемую контейнерами STL (например, список STL).

0
ответ дан 18 December 2019 в 13:13
поделиться

1) создать функцию, которая сравнивает два вектора по размеру:

bool less_vectors(const vector& a,const vector& b) {
   return a.size() < b.size();
}

2) сортировать по нему

sort(v.begin(),v.end(),less_vectors);
14
ответ дан 18 December 2019 в 13:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: