STL, <list> , sort()

Signaler
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006
-
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
-
Bonjour a tous


J'aimerais avoir des informations sur la fonctions sort();


Elle trie une certaine liste , mais selon quelle valeur ?? C'est facile
a imaginer si on a une liste d'entier par exemple , mais dans le cas
d'une liste particuliere , peut on lui donner un argument comme par
exemple un attribut de la classe.


Je fais un tit exemple parce que la c'est beaucoup de blabla pour rien :)


Class A{

private int a,b,c;

}


list maList;


maList.sort(b);


voila :) est ce possible ?

9 réponses

Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Je pense qu'il faut surcharger les opérateurs de comparaison pour que sort marche. Et je pense que la syntaxe serait :

list > ou quelque chose comme ça.
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

oula, tu veux dire que si je surcharge les operateurs, il faut déclarer la list de cette manière ?
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Non c'est obligé de surcharger les opérateurs de comparaison, car sinon la liste ne peut pas trier.
La syntaxe de déclaration sert à spécifier le mode de tri (greater, et plein d'autres truc comme ça, regarde dans la source de la STL) : par défaut c'est greater.
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

tu sais s'il existe un equivalent de la javadoc pour c++ ?


merci pour tes reponses ;)
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Euh oui : la MSDN (mais je sais pas s'il y a la STL dedans)
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

ok merci pour tout ;)
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Messages postés
51
Date d'inscription
dimanche 13 février 2005
Statut
Membre
Dernière intervention
28 décembre 2006

je sais pas si c'est une bonne idée de poser mon problème la, mais ca
concerne encore la STL. ( au passage merci pour les sites ! )


j'ai cette déclaration :

   struct numListe
   {
         list<Sommet> liste;
         int entier;
   };

   list<numListe> composante;

   list<numListe>::iterator ln;


Pour info Sommet est une classe


 error: 'class std::list<Graphe::numListe,

   std::allocator<Graphe::numListe> >' has no member named 'liste'

 error: 'class std::list<Graphe::numListe,

   std::allocator<Graphe::numListe> >' has no member named 'liste'


Si j'ai bien compris il ne voit pas les attributs ma structure ..


Voila j'espère avoir été clair.
Messages postés
746
Date d'inscription
vendredi 17 juin 2005
Statut
Membre
Dernière intervention
23 mai 2007
9
Donne le code car là, on ne peut pas vraiment savoir...