Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1544 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  multimap ou map de vecteur??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

multimap ou map de vecteur??

n°484317
haazheel
Posté le 12-08-2003 à 01:16:09  profilanswer
 

Salut,
 
alors voilà ma question du jour:
 
qu'est-il préférable d'utiliser:
 

Code :
  1. typedef map<string,vector<int> > toto;
  2. toto foo;


 
et on récupère les données grâce à:
 

Code :
  1. toto::iterator it = foo.find(string);
  2. vector<int> & vect = it->second;


 
ou bien
 

Code :
  1. typedef multimap<string,int> toto;
  2. toto foo;


 
et on récupère les données grâce à:
 

Code :
  1. pair<toto::iterator,toto::iterator> Paire = foo.equal_range(string);
  2. for (toto::iterator it = Paire.first; it != Paire.second; ++it)
  3. .....


 
Qu'en est-il question perfs, mémoire...
 
Parce que là j'hésite...
 
Si c'est comparable, je penche plutôt pour le multimap, avec le equal_range...


---------------
Another .Net Blog
mood
Publicité
Posté le 12-08-2003 à 01:16:09  profilanswer
 

n°484465
ACut
Posté le 12-08-2003 à 09:06:11  profilanswer
 

Y a des risques que le multimap soit + lourd en mem... Mais bon je suis zumble. Taz va te dire ça...

n°484488
Taz
bisounours-codeur
Posté le 12-08-2003 à 09:23:43  profilanswer
 

ben c'est pas meme chose du tout. le cout mémoire est pas trop important. si tu as besoin d'un conteneur associatif avec des clefs multipes, alors oui, multimap. sinon pas la peine d'émuler ça avec une map et des vector, c'est pure perte de temps.
 
equal_range est parfait.
 
multimap  :)

n°484588
haazheel
Posté le 12-08-2003 à 10:18:18  profilanswer
 

ben en voilà une réponse qui fait plaisir ;)


---------------
Another .Net Blog
n°484855
red factio​n
Posté le 12-08-2003 à 14:09:40  profilanswer
 

tant qu'on y est c quoi la difference entre multimap et multiset ?????
 
j'ai cru comprendre quavec multiset la clé est la valeur elle meme mais jai pas trop capté qd meme

n°484987
Taz
bisounours-codeur
Posté le 12-08-2003 à 15:24:20  profilanswer
 

un set peut etre vu comme un conteneur associatif dont la clef est aussi la valeur associée. voilà. c'est un ensemble.

n°485333
ACut
Posté le 12-08-2003 à 19:15:17  profilanswer
 

...et donc un multiset c'est un set qui autorise la redondance. C'est plus vraiment un "ensemble" au sens ontologique du terme, mais ça marche c'est l'essentiel.


---------------
NOUVEAU! Le guide de l'édition en version ebook : http://marcautret.free.fr/autret/150q-ebook/
n°485363
Taz
bisounours-codeur
Posté le 12-08-2003 à 19:42:45  profilanswer
 

ben c'est un multi-ensemble, ou un un sac (bag comme on dit)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  multimap ou map de vecteur??

 

Sujets relatifs
Meilleure méthode pour utiliser un vecteur dans une fonctionVecteur à éléments connu à l'avance: resize ou push_back?
Problème pour modifier des éléments d'un vecteurComment REDIMer sans perdre tout ce qu'il y a dans le vecteur?
[java] Enregistrer un vecteur dans un fichier et le recupérerC++ : Déclarer un vecteur qui contiennent plusieurs type ?!?!?
[Prob en C++] - Passage d'object dans un vecteur[3D]: formule d'un vecteur tangent en un point d'une sphère?
[algo] Comment trouver la direction a partir d'un vecteur?[c++] vecteur de pointeurs vers deux types différents...
Plus de sujets relatifs à : multimap ou map de vecteur??


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR