Bonjour a tous, j'essaye d'utiliser le conteneur map de la STL mais je bute sur un point important :
Lors de la creation de cette map on peut définir un ordre d'insertion des nouvelles clefs, par defaut c'est "less".
Si je desire ranger cette map dans l'ordre inverse, je peux la declarer telle que :
Voila, ceci est une map contenant des paires de chaines de caractères rangés dans lordre alphabétique inverse. J'utilise des AnsiString parceque je suis sous C++Builder et j'aime bien les AnsiString !! :p
Code : Sélectionner tout - Visualiser dans une fenêtre à part std::map<AnsiString, AnsiString, std::greater<AnsiString>() >
Mais j'ai deux contraintes :
- Je veux garder ce type de conteneur (map) car l'on dispose de clefs associées a des valeurs.
- J'acquiers des elements d'une base de données et je dois garder leur ordre d'insertion. DONC IL NE DOIT PAS Y AVOIR DE RANGEMENT SELON UN CERTAIN ORDRE mais un rangement "au fur et a mesure" dans la map, comme ca se passe dans un vecteur lorsque l'on fait un push_back(...).
Alors comment faire pour inserer des elements dans une map sans quils soient rangé selon le comparateur (less, greater, equal, etc....), y a t il un comparateur special ou dois-je en recreer un ?
Sinon y a t il un autre conteneur que map qui ne soit pas indexé mais qui garde les memes propriétés et la meme structure (clef, valeur) ?
Merci pour votre aide.
Partager