Table de correspondance [Résolu]

wismerhill__ 88 Messages postés mercredi 1 juin 2005Date d'inscription 26 juillet 2007 Dernière intervention - 31 juil. 2006 à 10:46 - Dernière réponse : vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention
- 1 août 2006 à 18:16
Salut, j'ai un problème simple que j'aimerais resoudre un peu joliment...

Je dispose de trois vecteur de n elements

vect 1 -> vecteur de std::string
vect 2 -> vecteur de std::string
vect 3 -> vecteur de int

en fait au dessus j'ai un objet qui possede pour attribut un triplet (a,b,c) sachant qu'à a correspond un unique b et un unique c (il y a bijection entre les trois vecteurs)
je voudrais savoir commant pouvoir en rentrant un seul element d'un des trois vecteurs obtenir les deux autres des deux autres vecteurs qui lui correspondent...

voila .. cela sans if elseif etc ... on m'a parlé de table de correspondance mais je n'ai pas trouvé ...

merci :)

wis : in tartiflette I trust (like the others)
Afficher la suite 

Votre réponse

1 réponse

vecchio56 6539 Messages postés lundi 16 décembre 2002Date d'inscription 22 août 2010 Dernière intervention - 1 août 2006 à 18:16
-2
Merci
J'utiliserais une map pour faire ca:
map<vector, pair<vector<string>, vector<string> > >;

J'ai mis le vector comme clé car les entiers sont plus rapides a comparer que les chaines (si les chaines sont de même taille). En général mets comme clé le type d'élément le plus rapide a comparer.
De plus la recherche de la paire connaissant la clé se fait en log2(n)

_____________________________________
Un éditeur de ressources gratuit pour Windows
Commenter la réponse de vecchio56

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.