Как отсортировать двумерный vector

99
14 декабря 2021, 05:50

Есть условный, уже инициализированный 2х вектор:

std::vector<std::vector<int>> vec = { {3,2,1,4,5},{3,2,4,1,5} };

Как его можно отсортировать?

std::sort(vec.begin(), vec.end());

Отрабатывает, но не сортирует.

Я так понимаю нужен итератор для работы с колонками вектора? Но как его инициализировать? Или какие еще есть варианты?

Answer 1

Вы можете сортировать вектор векторов, например так:

std::vector<std::vector<int>> vec =
    { {3,2,1,4,5},{3,2,4,1,5}, {5, 6,2} };
std::sort(vec.begin(), vec.end(),
    [](const auto& v1, const auto& v2) 
    { return v1.size() < v2.size(); });

и можете сортировать вектора_элементы(думаю вам это нужно):

for (auto& v : vec) {
    std::sort(v.begin(), v.end());          
}
READ ALSO
Проблема с таймером с++

Проблема с таймером с++

Помогите разобраться, стоит задача: нужно по таймеру вызывать функцию в другом потоке Вот что у меня получается

177
Ввести порядковый нoмер игральной карты от(0 до 35) и определить масть и достоинство карты(не надо писать 36 if или switch)

Ввести порядковый нoмер игральной карты от(0 до 35) и определить масть и достоинство карты(не надо писать 36 if или switch)

Написала с 36 свитчами,нельзя использовать цикл и тдНужно ограничаться ифами и свитчами,буду рада помощи

110
SendMessage всем окнам с определенным классом

SendMessage всем окнам с определенным классом

Допустим у меня есть 3 запущенных параллельно окна с одним и тем же классомПри клике в одном из них я хочу отсылать с помощью SendMessage информацию...

76