-
QList et sort()
Bonjour,
J'ai une QList d'une struture composée d'un entier et d'une QString.
Je voudrais classer cette Qlist à l'aide de qSort() en fonction de l'entier.
Je ne sais pas trop comment proceder si je dois plutôt utiliser 2 listes liées ensemble ou il y a moyen de classer directement la struture.
Merci d'avance de vos suggestion.
-
Tu peux soit definir un fonction qui s'occupe de la comparaison ou alors il faut que ta structure implemente le surcharge de l'operateur <().
Voir la doc de Qt pour des exemples:
http://doc.qt.nokia.com/4.7-snapshot...hms.html#qSort
-
Merci beaucoup,
Ca fonctionne effectivement trés bien, simplement en redefinissant l'opérateur '<'
-
Tu peux peut être aussi une QMap<int, QString> si ta liste doit toujours être trié (trie lors de l'insertion)
-
Ok merci, je ne connais pas la class QMap. Je vais regarder ca.
-
Ça fait partie de ce qu'on appelle les conteneurs associatifs. Tu as aussi QMultiMap (QMap = chaque clé est unique ; QMultiMap = tu peux avoir plusieurs fois la même clé). Tu as également les version STL (std::map et std::multimap).
Pour aider à choisir le conteneur adapté aux besoins, tu as cet organigramme qui peut aider : http://cpp.developpez.com/faq/cpp/?p...hoix_conteneur (chaque conteneur QTL à un équivalent dans Qt en général)