SlideShare a Scribd company logo
1 of 13
Download to read offline
Plan
Introduction
class
map
Stockage
Opérations
Université Sultan Moulay
Slimane
Faculté Polydisciplinaire
Département de Physique
- Béni Mellal -
Conclusion
Filière Sciences de la Matière Physique
Option : Electronique
Présenté par :
Encadré par :
Année universitaire 2021/2022
Plan
Introduction
class
map
Conclusion Plan:
I
II
III
IV
Introduction
Présentation class map
Stockage des données
dans mémoire
Opérations
v
Conclusion
Opérations
Stockage
Conclusion
Plan
Introduction
class
map
Stockage
Opérations
Introduction
⮚ déf
⮚ s
I
Conclusion
Plan
class
map
Stockage
Opérations
Conclusion
La classe map :
La classe map, qui est également appelée dictionnaire ou
tableau associé, est définie dans le fichier d'en-tête <map>. C'est
un conteneur qui stocke une paire de clé et de valeur, deux
valeurs mappées ne peuvent pas partager les mêmes valeurs de
clé. Les éléments sont triés par ordre croissant en fonction de la
clé. Dans un dictionnaire, les clés sont uniques.
En interne, les conteneurs map conservent tous leurs éléments
triés. Les éléments sont toujours insérés dans leur position
respective en suivant cet ordre.
Les valeurs clés servent à trier et à identifier les éléments de
manière unique. Les valeurs mappées servent à stocker le
contenu associé à la clé. Les deux peuvent être de types
différents, mais le type membre pair les combine.
1
Présentation class map
II
Introduction
Plan
Introduction
class
map
Stockage
Opérations
Conclusion ❖ syntexe
std::map<type_cle, val_type> nomMap;
_ type_cle dénote le type de données des clés de dictionnaire.
_ type_valeur indique le type de données des valeurs correspondant aux clés
de dictionnaire.
_ nomMap est le nom de dictionnaire.
❖ Exemple
map<string, int> dict1;
Nous avons déclaré ici un dictionnaire nommé dict1. Le dictionnaire
aura une chaîne de caractères comme types de données pour les clés
et un entier comme type de données pour les valeurs.
2
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
Stockage des données dans mémoire
Classe map (dictionnaire) est un conteneur associatif dans lequel la
clé et la valeur sont des éléments de données distincts.
III
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion ❏ Taille
Il existe trois fonctions membres dans la classe map que nous
pouvons utiliser pour vérifier la taille, la taille maximale et le vide.
Elles sont les mêmes que celles discutées pour les conteneurs de
séquence.
Opérations
IV
Syntaxe Description
dict1.size(); Renvoie la taille actuelle
dict1.max_size(); Renvoie la taille maximale
dict1.empty(); Renvoie true si le dictionnaire dict1 est vide
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
❏ Acceder aux elements
★ Operateur []
Si k correspond à la clé d'un élément du conteneur, la fonction renvoie une
référence à sa valeur mappée.
Si k ne correspond à la clé d'aucun élément du conteneur, la fonction insère un
nouvel élément avec cette clé et renvoie une référence à sa valeur mappée.
Notez que cette fonction augmente toujours la taille du conteneur de 1, même si
aucune valeur mappée n'est assignée à l'élément.
★ map::at
Renvoie une référence à la valeur mappée de l'élément identifié par la clé k.
Si k ne correspond à la clé d'aucun élément du conteneur, la fonction lève
une exception out_of_range.
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
❏ Insertion
Étend le conteneur en insérant de nouveaux éléments,
augmentant effectivement la taille du conteneur du nombre
d'éléments insérés.
iterator map_name.insert({clé, élément})
La fonction accepte une paire composée d'une clé et d'un élément
qui doit être inséré dans le conteneur map. La fonction n'insère pas
la clé et l'élément dans le dictionnaire si la clé existe déjà dans le
dictionnaire. La fonction renvoie un itérateur pointant vers le nouvel
élément dans le conteneur.
iterator map_name.insert(iterator position, {clé, élément})
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
La classe map utilise des itérateurs bidirectionnels (et non à
accès aléatoire). Elle fournit les mêmes huit itérateurs internes que
les conteneurs de séquence, dont quatre sont constants et quatre
non constants. Les itérateurs constants et non constants ont la
même syntaxe.
❏ Iterateur
Syntaxe Description
dict1.begin() Retourne un itérateur régulier au premier
élément
dict1.end() Renvoie un itérateur régulier à l'élément
après le dernier
dict1.rbegin() Retourne un itérateur inverse au dernier
élément
dict1.rend() Renvoie un itérateur inverse à l'élément
avant le premier
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
La suppression d'éléments doit se faire par le biais de la clé ou de l'itérateur.
❏ supprimer des elements dans dictionnaire
Syntaxe Description
dict1.erase(k) Supprime k
dict1.erase(pos) Supprimer un élément pointé
par pos
dict1.erase(premier,
dernier)
Supprimer les éléments de
la plage [premier, dernier]
dict1.clear() Vider le dictionnaire
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
Comme classe map utilise un arbre binaire de recherche
équilibré pour stocker les éléments, la recherche est possible et
efficace. Il y a cinq membres pour la recherche, comme indiqué
ci-dessous :
❏ Rechercher dans un dictionnaire
Syntaxe Description
dict1.count(k) Renvoie le nombre d'éléments égal à
k
dict1.find(k) Retourne un itérateur pointant sur le
premier k trouvé
dict1.lower_bound(k) Renvoie la première position où k
peut être inséré
dict1.upper_bound(k) Renvoie la dernière position où k
peut être inséré
dict1.equal_range(k) Combinaison de limite inférieure et
supérieure
PLAN
Introduction
class
map
Stockage
Opérations
Conclusion
CONCLUSION
v

More Related Content

Similar to presentaiopn PFE.pptx

Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdfAabidiHafid
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2Mathieu Saby
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniShellmates
 
R FOR DATA ANALYSIS_DATAFRAMES1.pptx
R FOR DATA ANALYSIS_DATAFRAMES1.pptxR FOR DATA ANALYSIS_DATAFRAMES1.pptx
R FOR DATA ANALYSIS_DATAFRAMES1.pptxAbdoulayeWakhabDIOP
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonMariem ZAOUALI
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfLamissGhoul1
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaAziz Darouichi
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objetsAbdoulaye Dieng
 
5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdf5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdfAliouDiallo24
 

Similar to presentaiopn PFE.pptx (20)

Classes et Objets.pdf
Classes et Objets.pdfClasses et Objets.pdf
Classes et Objets.pdf
 
Chapitre 1 rappel
Chapitre 1 rappelChapitre 1 rappel
Chapitre 1 rappel
 
Java collection
Java collection Java collection
Java collection
 
Marzouk collection-map
Marzouk collection-mapMarzouk collection-map
Marzouk collection-map
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
4sci ap(2)
4sci ap(2)4sci ap(2)
4sci ap(2)
 
Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2Nettoyer et transformer ses données avec Openrefine : partie 2
Nettoyer et transformer ses données avec Openrefine : partie 2
 
Atelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El HassaniAtelier Python 2eme partie par Achraf Kacimi El Hassani
Atelier Python 2eme partie par Achraf Kacimi El Hassani
 
Memo java
Memo javaMemo java
Memo java
 
R FOR DATA ANALYSIS_DATAFRAMES1.pptx
R FOR DATA ANALYSIS_DATAFRAMES1.pptxR FOR DATA ANALYSIS_DATAFRAMES1.pptx
R FOR DATA ANALYSIS_DATAFRAMES1.pptx
 
Chap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en pythonChap5 La manipulation des iterables en python
Chap5 La manipulation des iterables en python
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / TunisieCorrection TP4 Atelier C++ /GL2 INSAT / Tunisie
Correction TP4 Atelier C++ /GL2 INSAT / Tunisie
 
Convention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdfConvention Algorithmique AS 2022-2023.pdf
Convention Algorithmique AS 2022-2023.pdf
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Type abstrait de données
Type abstrait de donnéesType abstrait de données
Type abstrait de données
 
Pensez objets avec java
Pensez objets avec javaPensez objets avec java
Pensez objets avec java
 
Chapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En JavaChapitre8: Collections et Enumerations En Java
Chapitre8: Collections et Enumerations En Java
 
Cpp2 : classes et objets
Cpp2 : classes et objetsCpp2 : classes et objets
Cpp2 : classes et objets
 
5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdf5- understandinggJava_Collections_v4.pdf
5- understandinggJava_Collections_v4.pdf
 

presentaiopn PFE.pptx

  • 1. Plan Introduction class map Stockage Opérations Université Sultan Moulay Slimane Faculté Polydisciplinaire Département de Physique - Béni Mellal - Conclusion Filière Sciences de la Matière Physique Option : Electronique Présenté par : Encadré par : Année universitaire 2021/2022
  • 2. Plan Introduction class map Conclusion Plan: I II III IV Introduction Présentation class map Stockage des données dans mémoire Opérations v Conclusion Opérations Stockage Conclusion
  • 4. Plan class map Stockage Opérations Conclusion La classe map : La classe map, qui est également appelée dictionnaire ou tableau associé, est définie dans le fichier d'en-tête <map>. C'est un conteneur qui stocke une paire de clé et de valeur, deux valeurs mappées ne peuvent pas partager les mêmes valeurs de clé. Les éléments sont triés par ordre croissant en fonction de la clé. Dans un dictionnaire, les clés sont uniques. En interne, les conteneurs map conservent tous leurs éléments triés. Les éléments sont toujours insérés dans leur position respective en suivant cet ordre. Les valeurs clés servent à trier et à identifier les éléments de manière unique. Les valeurs mappées servent à stocker le contenu associé à la clé. Les deux peuvent être de types différents, mais le type membre pair les combine. 1 Présentation class map II Introduction
  • 5. Plan Introduction class map Stockage Opérations Conclusion ❖ syntexe std::map<type_cle, val_type> nomMap; _ type_cle dénote le type de données des clés de dictionnaire. _ type_valeur indique le type de données des valeurs correspondant aux clés de dictionnaire. _ nomMap est le nom de dictionnaire. ❖ Exemple map<string, int> dict1; Nous avons déclaré ici un dictionnaire nommé dict1. Le dictionnaire aura une chaîne de caractères comme types de données pour les clés et un entier comme type de données pour les valeurs. 2
  • 6. PLAN Introduction class map Stockage Opérations Conclusion Stockage des données dans mémoire Classe map (dictionnaire) est un conteneur associatif dans lequel la clé et la valeur sont des éléments de données distincts. III
  • 7. PLAN Introduction class map Stockage Opérations Conclusion ❏ Taille Il existe trois fonctions membres dans la classe map que nous pouvons utiliser pour vérifier la taille, la taille maximale et le vide. Elles sont les mêmes que celles discutées pour les conteneurs de séquence. Opérations IV Syntaxe Description dict1.size(); Renvoie la taille actuelle dict1.max_size(); Renvoie la taille maximale dict1.empty(); Renvoie true si le dictionnaire dict1 est vide
  • 8. PLAN Introduction class map Stockage Opérations Conclusion ❏ Acceder aux elements ★ Operateur [] Si k correspond à la clé d'un élément du conteneur, la fonction renvoie une référence à sa valeur mappée. Si k ne correspond à la clé d'aucun élément du conteneur, la fonction insère un nouvel élément avec cette clé et renvoie une référence à sa valeur mappée. Notez que cette fonction augmente toujours la taille du conteneur de 1, même si aucune valeur mappée n'est assignée à l'élément. ★ map::at Renvoie une référence à la valeur mappée de l'élément identifié par la clé k. Si k ne correspond à la clé d'aucun élément du conteneur, la fonction lève une exception out_of_range.
  • 9. PLAN Introduction class map Stockage Opérations Conclusion ❏ Insertion Étend le conteneur en insérant de nouveaux éléments, augmentant effectivement la taille du conteneur du nombre d'éléments insérés. iterator map_name.insert({clé, élément}) La fonction accepte une paire composée d'une clé et d'un élément qui doit être inséré dans le conteneur map. La fonction n'insère pas la clé et l'élément dans le dictionnaire si la clé existe déjà dans le dictionnaire. La fonction renvoie un itérateur pointant vers le nouvel élément dans le conteneur. iterator map_name.insert(iterator position, {clé, élément})
  • 10. PLAN Introduction class map Stockage Opérations Conclusion La classe map utilise des itérateurs bidirectionnels (et non à accès aléatoire). Elle fournit les mêmes huit itérateurs internes que les conteneurs de séquence, dont quatre sont constants et quatre non constants. Les itérateurs constants et non constants ont la même syntaxe. ❏ Iterateur Syntaxe Description dict1.begin() Retourne un itérateur régulier au premier élément dict1.end() Renvoie un itérateur régulier à l'élément après le dernier dict1.rbegin() Retourne un itérateur inverse au dernier élément dict1.rend() Renvoie un itérateur inverse à l'élément avant le premier
  • 11. PLAN Introduction class map Stockage Opérations Conclusion La suppression d'éléments doit se faire par le biais de la clé ou de l'itérateur. ❏ supprimer des elements dans dictionnaire Syntaxe Description dict1.erase(k) Supprime k dict1.erase(pos) Supprimer un élément pointé par pos dict1.erase(premier, dernier) Supprimer les éléments de la plage [premier, dernier] dict1.clear() Vider le dictionnaire
  • 12. PLAN Introduction class map Stockage Opérations Conclusion Comme classe map utilise un arbre binaire de recherche équilibré pour stocker les éléments, la recherche est possible et efficace. Il y a cinq membres pour la recherche, comme indiqué ci-dessous : ❏ Rechercher dans un dictionnaire Syntaxe Description dict1.count(k) Renvoie le nombre d'éléments égal à k dict1.find(k) Retourne un itérateur pointant sur le premier k trouvé dict1.lower_bound(k) Renvoie la première position où k peut être inséré dict1.upper_bound(k) Renvoie la dernière position où k peut être inséré dict1.equal_range(k) Combinaison de limite inférieure et supérieure