logo

Fonction de cartographie C++

Les cartes font partie du C++ STL (Standard Template Library). Les cartes sont des conteneurs associatifs qui stockent une paire clé-valeur triée, dans laquelle chaque clé est unique et peut être insérée ou supprimée mais ne peut pas être modifiée. Les valeurs associées aux clés peuvent être modifiées.

Par exemple: Une carte des employés où l'ID de l'employé est la clé et le nom est la valeur peut être représentée comme :

Clés Valeurs
101 Nikita
102 Robin
103 Profond
104 John

Syntaxe

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

Paramètre

clé: Type de données clés à stocker dans la carte.

taper: Type de données de valeur à stocker dans la carte.

comparer: Une classe de comparaison qui prend deux arguments du même type bool et renvoie une valeur. Cet argument est facultatif et le prédicat binaire less est la valeur par défaut.

allouer : Type de l’objet allocateur. Cet argument est facultatif et la valeur par défaut est allocator .

Création d'une carte

Les cartes peuvent facilement être créées à l'aide de l'instruction suivante :

 typedef pair value_type; 

Le formulaire ci-dessus sera utilisé pour créer une carte avec une clé de type Type de clé et valeur du type type de valeur. Une chose importante est que la clé d'une carte et les valeurs correspondantes sont toujours insérées par paire, vous ne pouvez pas insérer uniquement la clé ou simplement une valeur dans une carte.

Exemple 1

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

Sortir:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

Fonctions des membres

Vous trouverez ci-dessous la liste de toutes les fonctions membres de map :

Constructeur/Destructeur

Les fonctions Description
constructeurs Construire une carte
destroyers Destructeur de carte
opérateur= Copiez des éléments de la carte sur une autre carte.

Itérateurs

Les fonctions Description
commencer Renvoie un itérateur pointant vers le premier élément de la carte.
ccommencer Renvoie un itérateur const pointant vers le premier élément de la carte.
fin Renvoie un itérateur pointant vers la fin passée.
quelques Renvoie un itérateur constant pointant vers la fin passée.
commencer Renvoie un itérateur inverse pointant vers la fin.
rend Renvoie un itérateur inverse pointant vers le début.
crcommencer Renvoie un itérateur inverse constant pointant vers la fin.
croire Renvoie un itérateur inverse constant pointant vers le début.

Capacité

Les fonctions Description
vide Renvoie vrai si la carte est vide.
taille Renvoie le nombre d'éléments dans la carte.
taille max Renvoie la taille maximale de la carte.

Accès aux éléments

Les fonctions Description
opérateur[] Récupère l'élément avec la clé donnée.
à Récupère l'élément avec la clé donnée.

Modificateurs

Les fonctions Description
insérer Insérer un élément dans la carte.
effacer Effacez des éléments de la carte.
échanger Échangez le contenu de la carte.
clair Supprimez tous les éléments de la carte.
emplace Construisez et insérez les nouveaux éléments dans la carte.
emplace_hint Construisez et insérez de nouveaux éléments dans la carte par indice.

Observateurs

Les fonctions Description
clé_comp Renvoie une copie de l’objet de comparaison clé.
valeur_comp Renvoie une copie de l'objet de comparaison de valeurs.

Opérations

Les fonctions Description
trouver Recherchez un élément avec la clé donnée.
compter Obtient le nombre d'éléments correspondant à la clé donnée.
borne inférieure Renvoie un itérateur à la limite inférieure.
limite_upérieure Renvoie un itérateur à la limite supérieure.
plage_égale Renvoie la plage d'éléments correspondant à la clé donnée.

Allocateur

Les fonctions Description
get_allocator Renvoie un objet allocateur utilisé pour construire la carte.

Fonctions surchargées des non-membres

Les fonctions Description
opérateur== Vérifie si les deux cartes sont égales ou non.
opérateur!= Vérifie si les deux cartes sont égales ou non.
opérateur< Vérifie si la première carte est inférieure à l'autre ou non.
opérateur<=< td> Vérifie si la première carte est inférieure ou égale à une autre ou non.
opérateur> Vérifie si la première carte est supérieure à l'autre ou non.
opérateur>= Vérifie si la première carte est supérieure ou égale à l'autre ou non.
échanger() Échange l'élément de deux cartes.