Stl : la classe map (exemple d'un agenda)

0/5 (1 avis)

Snippet vu 25 575 fois - Téléchargée 41 fois

Contenu du snippet

la classe map est un container associatif : on ajoute un element dans une structure avec une cle. La recherche dans le container se fait ensuite a l'aide de la clé. Exemple : un agenda

Source / Exemple :


//Cette classe est une table associant 
//une clee a une valeur : une sorte de 
//tableau sauf que les indices ne sont 
//plus un entier, mais une chaine de 
//caractere, ou autre ...

#include <stdio.h>
#include <map>
#include <string>

int main(int argc, char ** argv){
	
		//on declare un tableau d'entier qui sera indexe par une chaine
	std::map<std::string, int> mapAgenda;

		//on ajoute quelques valeurs
	mapAgenda["toto"] = 12;
	mapAgenda["titi"] = 1000330055;

		//on declare un iterateur sur cette map
	std::map<std::string, int>::iterator iter;

		//on cherche la chaine tibur
	iter = mapAgenda.find( "tibur" );

	if (iter==mapAgenda.end()){	//on a pas trouve
		printf("tibur non trouve\n");
	}
	else{
		printf("hum\n");
	}
	
		//on cherche toto
	iter = mapAgenda.find( "toto" );

	if (iter==mapAgenda.end()){	//on a pas trouve
		printf("toto non trouve\n");
	}
	else{	//on a trouve
		int num = mapAgenda["toto"];	//on recupere l'entier depuis notre map
                // int num = iter->second; 
		printf("toto trouve : num = %d\n", num);	//on l'affiche
	}

	return 0;
}
//neiger@ifrance.com

Conclusion :


Tout commentaire sera bienvenu

A voir également

Ajouter un commentaire Commentaire
cs_vieuxLion Messages postés 455 Date d'inscription samedi 26 octobre 2002 Statut Membre Dernière intervention 6 avril 2004 8
27 janv. 2003 à 10:31
oui,
il serait intéressant de dire que les entrées sont triées automatiquement par rapport à leur clef
et que : int num = mapAgenda[tibur]; CREE AUTOMATIQUEMENT l'entrée tibur !!!
il vaut donc mieux coder, après le find : int num = iter->second

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.