Maison  >  Article  >  développement back-end  >  Programme C++ pour parcourir le dictionnaire

Programme C++ pour parcourir le dictionnaire

王林
王林avant
2023-09-01 11:13:061558parcourir

Programme C++ pour parcourir le dictionnaire

Bien que C++ n'ait pas de dictionnaire, il a une structure de type dictionnaire appelée map. Chaque entrée de carte contient deux valeurs clé et valeur de mappage . Chaque élément est indexé à l'aide d'une valeur clé et les valeurs mappées sont les valeurs associées à la clé. Les valeurs mappées peuvent être uniques ou non, mais les clés sont toujours uniques. Dans ce didacticiel, nous examinerons les itérateurs et leur fonctionnement avec les cartes.

Itérateurs en C++

L'objet itérateur pointe vers un élément dans une série d'éléments. Les itérateurs sont couramment utilisés avec des conteneurs tels que des tableaux et des vecteurs, et disposent de collections ou d'opérations spécifiques qui peuvent être utilisées pour pointer vers des éléments spécifiques dans une plage donnée. L'itérateur pointe vers l'emplacement mémoire d'un élément spécifique de la plage et peut être incrémenté ou décrémenté pour pointer vers différents éléments présents dans la plage ou le conteneur. Voyons comment fonctionnent les itérateurs.

Grammaire

<container_type> :: iterator iterator_name;

Prenons un exemple -

La traduction chinoise de

Exemple

est :

Exemple

#include <iostream>
#include <iterator>
#include <vector>

using namespace std;

int main(){
   //we are using a vector to demonstrate the working of an iterator
   vector<int> myVec = { 10, 20, 30, 40, 50 };
     
   // creating an iterator
   vector<int>::iterator it;
     
   // iterating through the elements
   cout << "The elements are: ";
   //the begin and end are used to define the range
   for (it = myVec.begin(); it < myVec.end(); it++)
      cout << *it << " ";
     
   return 0;   
}

Sortie

The elements are: 10 20 30 40 50

Parcourir la carte à l'aide d'itérateurs

Il s'agit d'un processus assez simple, identique à l'itération d'autres conteneurs.

Grammaire

map<datatype, datatype> mmap;
for (auto itr = my.begin(); itr != mmap.end(); ++itr) {
   cout << itr->first << ": " << itr->second << endl;
}
La traduction chinoise de

Exemple

est :

Exemple

#include <iostream>
#include <map>

using namespace std;

int main() {
   //initialising the map
   map <string, string> mmap = {{"City", "London"}, {"Country", "UK"}, {"Continent", "Europe"}};

   //iterating through the contents
   for (auto itr = mmap.begin(); itr != mmap.end(); ++itr) {
      cout << itr->first << ": " << itr->second << endl;
   }
   return 0;
}

Sortie

City: London
Continent: Europe
Country: UK

Conclusion

En C++, une carte est traitée comme une collection ordonnée, ce qui signifie que les composants sont ordonnés en fonction de la valeur de leurs propriétés clés. Les arbres rouge-noir sont utilisés pour implémenter des cartes en mémoire, et la complexité temporelle de toutes les opérations est logarithmique. Lors du parcours de la carte, nous devons utiliser des itérateurs, sinon il n'y a pas d'autre moyen plus simple d'accéder à tous les éléments de la carte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer