STL : trier une map OU ordre d'affichage des éléments d'une map

julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007 - 17 mai 2007 à 23:27
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007 - 18 mai 2007 à 18:58
Bonsoir,
j'ai une map déclarée ainsi :

map mapCstes;

CSTEVALUE est une structure perso :

struct CSTEVALUE
{
double val;
string name;
};

Je voudrais pouvoir trier la map selon la longueur de la chaine "name", sans toucher à la clef. Le tri ne serait utile que lorsque je parcours la map d'un bout à l'autre avec un iterateur. Alors peut etre que je peux donner un ordre de priorité d'affichage des éléments de la map selon telle ou telle valeur à l'iterator, mais je ne sais pas comment faire ca.
Y'aurait il un moyen ?

Merci

4 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
17 mai 2007 à 23:40
Une map est triée selon les clés (int ici), et non selon les valeurs.

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007
18 mai 2007 à 00:09
Ok, le tri est à oublier alors :(
Et en utilisant les itérateurs, pas moyen de dire "cherche l'élement de la map dont la valeur est etc ..." ?
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
18 mai 2007 à 00:17
Ben non les éléments seront mélangés donctu devra les trier toi même
Regarde si tu peux inverser les paramètres de ta map, ou éventuellement avoir deux maps (une map et une map<CSTEVALUE, int>

_____________________________________
Un éditeur de ressources gratuit pour Windows
0
julien_boss Messages postés 165 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 24 octobre 2007
18 mai 2007 à 18:58
Bon enfaite avec les map c'est pas gérable, alors je vais créer un tableau de int qui contiendra les clefs des éléments triés de la map.
Merci quand même vecchio
0
Rejoignez-nous