qt qsort

0

witam, mam klase person z polami publicznymi name surname age, pozniej ta klase wrzucam na lista typu tej klasy, następnie chce ją posortowac wg. name tylko qsort wyrzuca błąd, jak mam to zrobic zeby posortowac po name moja liste?

0

Użyć std::sort() i przekazać jako 3 argument funkcję sortującą.

0

Pokaż trochę kodu, z czym masz problem, albo przeczytaj to qSort documentation tam masz przykład jak rozwiązuje się takie problemy.

0
// hardcorowy C++0x, żeby nie było za łatwo
#include <string>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

struct person {
  string name,surname;
  int age;
};

int main()
{
   vector<person> lista = {{"Ala",  "Makota", 16},
                           {"Jaś",  "Fasola", 89},
                           {"Dżon", "Smif",   30}};

   cout<<"bez sortowania:"<<endl;
   for (person p:lista) cout<<p.name<<' '<<p.surname<<' '<<p.age<<endl;

   sort(lista.begin(),lista.end(),[](person a,person b){return a.name<b.name;});

   cout<<"posortowane:"<<endl;
   for (person p:lista) cout<<p.name<<' '<<p.surname<<' '<<p.age<<endl;
}

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