Vector d'objet a trier (urgent svp)

Signaler
Messages postés
17
Date d'inscription
jeudi 22 janvier 2004
Statut
Membre
Dernière intervention
2 mars 2005
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
bonjour à tous

j'ai une classe Noeud qui ne contient qu'un "string" , un constructeur et quelque méthodes.
le string prendra une lettre A, B, .....Z

j'ai un vecteur de Noeud vector <Noeud> monvect . je voudrais trier mon vecteur. comment puisse faire

on pourrait avoir : A E Y G K C D P
trier : A C D E G K P Y

je fais :
getnom retourne le string (methode de le classe Noeud)

sort(monvect.begin()->getnom(),monvect.end()->getnom());

merci à tous ceux qui répondrons

2 réponses

Messages postés
475
Date d'inscription
dimanche 3 octobre 2004
Statut
Membre
Dernière intervention
11 août 2006
4
2 solutions: surcharger operator< pour la classe Noeud ou passer à sort un foncteur qui fais la comparaison <.



par exemple:



class Noeud

{

string s;

public:

friend bool operator < ( const Noeud &n1, const Noeud &n2 )

{

return n1.s < n2.s;

}

};
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
9
Je pense que ce serait préférable d'avoir un vecteur de Noued* plutot
que que de Noueud, car lors du tri il suffira d'échanger des adresses
et pas des objets.