Trier une liste avec sort de la STL

Signaler
Messages postés
4
Date d'inscription
jeudi 23 mars 2006
Statut
Membre
Dernière intervention
8 juin 2006
-
Messages postés
1
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
25 juillet 2006
-
Bonjour à tous,

Je suis un programmeur confirmé de C, et je suis passé depuis 6 mois au C++. Je n'utilise pas la plupart des avantages de ce langages, mais je désire tout de même utilisé les algorithmes de la STL. Mon problème ici est de classer une liste d'élément avec l'algorithme "sort". Après 2 heures de Google, je n'arrive toujours pas a trouver une explication claire. Grossièrement ma liste est composé de:

class Element
{
... ;
... ;
... ;
int cpt ;
}

std::list<Element*> LElement;

Qqu'un voudrait-il m'indiquer comment classer cette liste en prenant comme parametre "cpt". C'est a dire classer la liste du plus grand "cpt" au plus petit en utilisant "sort" fourni par la STL ?

Je vous remercie d'avance pour les nombreuses réponses...

DrSteffie.

1 réponse

Messages postés
1
Date d'inscription
mardi 25 juillet 2006
Statut
Membre
Dernière intervention
25 juillet 2006

en fait c'est super simple, il suffit que dans ta classe Element, tu surcharges l'opérateur < (il te permet d'ordonner ta liste). Ensuite il suffit de faire LElement.sort(). Sinon tu peux aussi définir ta propre fonction de comparaison et la passer en argument: bool comparaison (const Element& e1, const Element& e2); et tu appelles le sort: LElement.sort(comparaison).