std::tr1::unordered_map / set.
Cela sera dans le prochain standard, et certains compilos les fournissent déjà. Sinon, certaines implémentations de la SL fournissent un hash_map (qui est exactement la même chose)
Ou multi_map si tu préfères.
A partir du moment où ta clé est ordonnable, tu peux les (orderered) std::(multi_)?(map|set).
Les versions non ordonnées sont là pour deux choses uniquements:
1- dans le cas où l'on est incapable de définir un ordre
2- pour changer la complexité algorithmique des diverses opérations
A partir du moment où tu n'es pas dans le cas 1-, tu peux te contenter des versions standards.
une map, par définition, est ordonnée. un set aussi.
Si tu veux garder les éléments dans l'ordre ou tu les a entré, utilise vector par exemple. Si tu veux un conteneur associatif comme map, utilise un vector de pair.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Recueil de code C et C++ http://fvirtman.free.fr/recueil/index.html