Obwohl C++ kein Wörterbuch hat, verfügt es über eine wörterbuchähnliche Struktur namens Map. Jeder Karteneintrag enthält zwei Werte − Schlüssel und Zuordnungswert −. Jedes Element wird mithilfe eines Schlüsselwerts indiziert, und zugeordnete Werte sind die mit dem Schlüssel verknüpften Werte. Die zugeordneten Werte können eindeutig sein oder auch nicht, aber die Schlüssel sind immer eindeutig. In diesem Tutorial werfen wir einen Blick auf Iteratoren und wie sie mit Karten funktionieren.
Das Iteratorobjekt zeigt auf ein Element in einer Reihe von Elementen. Iteratoren werden üblicherweise mit Containern wie Arrays und Vektoren verwendet und verfügen über bestimmte Sammlungen oder Operationen, die verwendet werden können, um auf bestimmte Elemente innerhalb eines bestimmten Bereichs zu verweisen. Der Iterator zeigt auf den Speicherort eines bestimmten Elements des Bereichs und kann inkrementiert oder dekrementiert werden, um auf verschiedene im Bereich oder Container vorhandene Elemente zu verweisen. Sehen wir uns an, wie Iteratoren funktionieren.
<container_type> :: iterator iterator_name;
Nehmen wir ein Beispiel -
Die chinesische Übersetzung von#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
Dies ist ein ziemlich einfacher Vorgang, genau wie das Iterieren anderer Container.
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
In C++ wird eine Karte als geordnete Sammlung behandelt, was bedeutet, dass die Komponenten entsprechend dem Wert ihrer Schlüsseleigenschaften geordnet sind. Rot-Schwarz-Bäume werden zum Implementieren von Karten im Speicher verwendet, und die zeitliche Komplexität aller Operationen ist logarithmisch. Beim Durchlaufen der Karte müssen wir Iteratoren verwenden, sonst gibt es keine andere einfachere Möglichkeit, auf alle Elemente in der Karte zuzugreifen.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Durchlaufen des Wörterbuchs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!