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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 841 fois - Téléchargée 39 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
7 -
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.