Sortowanie wektora obiektów.

0

Mam klasę:

 class Klasa{
public:
    int getNumber (){
        return this->number;
    };
    string getWord(){
        return this->word;
    };
private:
    int number;
    string word;
}

umieszczam teraz sobie obiekty tej klasy do wektora vector <Klasa> listOfKlasa.
Teraz chciałbym posortować ten wektor wg np. zmiennej number.
Napisałem sobie funkcję sortującą quick sort, która porównuje listOfKlasa[i].getNumber, ale zamienia miejscami całe obiekty. Funkcja działa.
Moje pytanie brzmi, czy istnieje jakaś funkcja w STL, QT lub innej popularnej bibliotece, która pozwalałaby na takie sortowanie?

Wydaje mi się, że takie sortowanie wg pola obiektu jest dość częstym zadaniem stąd moje pytanie.

4
std::sort(std::begin(listOfKlasa), std::end(listOfKlasa), 
          [](const Klasa& left, const Klasa& right) { return left.getNumber() < right.getNumber(); });
0

Dzięki, bardzo eleganckie rozwiązanie!

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0