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.
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.
<container_type> :: iterator iterator_name;
Prenons un exemple -
La traduction chinoise de#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; }
The elements are: 10 20 30 40 50
Il s'agit d'un processus assez simple, identique à l'itération d'autres conteneurs.
map<datatype, datatype> mmap; for (auto itr = my.begin(); itr != mmap.end(); ++itr) { cout << itr->first << ": " << itr->second << endl; }
#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; }
City: London Continent: Europe Country: UK
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!