[STL]std::map<std::string, structure> Parcour...
Bonjour,
J'ai un problème avec le conteneur std::map. Il fonctione parfaitement, mais j'ai l'impréssion qu'il "classe" les données, dans l'ordre alphanumérique du premier type (std::string dans mon cas). C'est enbètent car je doit parcourir la map avec un for et j'ai besoin de retrouver mes donbnées dnas l'ordre ou elles ont été ajouter.
Peut on enpècher le tri réaliser par std::map? Faut'il utiliser un autre conteneur, et dans ce cas le quel pour garder la possibilitée d'assosier deux element (Toujours pouvoir utiliser MaMap[Chaine] = Valeur) ?
Re: [STL]std::map<std::string, structure> Parcour...
Citation:
Envoyé par JC_Master
Bonjour,
J'ai un problème avec le conteneur std::map. Il fonctione parfaitement, mais j'ai l'impréssion qu'il "classe" les données, dans l'ordre alphanumérique du premier type (std::string dans mon cas). C'est enbètent car je doit parcourir la map avec un for et j'ai besoin de retrouver mes donbnées dnas l'ordre ou elles ont été ajouter.
Peut on enpècher le tri réaliser par std::map?
Non. C'est ce tri qui permet à la map d'avoir de bonnes performances d'accès.
Citation:
Envoyé par JC_Master
Faut'il utiliser un autre conteneur, et dans ce cas le quel pour garder la possibilitée d'assosier deux element (Toujours pouvoir utiliser MaMap[Chaine] = Valeur) ?
Les conteneurs de la SL qui conservent l'ordre (aussi nommés séquence), sont vector, list et deque. Aucun n'est associatif.
Solutions : Gérer deux conteneurs en parallèle, ou utiliser boost::multi_index qui automatise un peu cette gestion (mais demande de comprendre la doc), et permet d'aller encore plus loin.