Jak posortować wektor par na podstawie drugiego elementu pary?

Mam wektor par:

std::vector<std::pair<int, int> > vec;

chciałbym coś, co wygląda następująco:

std::sort(vec.begin(), vec.end(), std::something_magic<int, int, std::less>());

1 odpowiedź

Rozwiązanie jest bardzo łatwe do napisania dzięki lambdas, które mogą teraz mieć parametry typu auto. To jest moja obecnie ulubiona metoda:

std::sort(v.begin(), v.end(), [](auto &left, auto &right) {
    return left.second < right.second;
});

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.