Heim >Backend-Entwicklung >C++ >C++-Programm zum Durchlaufen des Wörterbuchs

C++-Programm zum Durchlaufen des Wörterbuchs

王林
王林nach vorne
2023-09-01 11:13:061636Durchsuche

C++-Programm zum Durchlaufen des Wörterbuchs

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.

Iteratoren in C++

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.

Grammatik

<container_type> :: iterator iterator_name;

Nehmen wir ein Beispiel -

Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

#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;   
}

Ausgabe

The elements are: 10 20 30 40 50

Mit Iteratoren über die Karte iterieren

Dies ist ein ziemlich einfacher Vorgang, genau wie das Iterieren anderer Container.

Grammatik

map<datatype, datatype> mmap;
for (auto itr = my.begin(); itr != mmap.end(); ++itr) {
   cout << itr->first << ": " << itr->second << endl;
}
Die chinesische Übersetzung von

Beispiel

lautet:

Beispiel

#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;
}

Ausgabe

City: London
Continent: Europe
Country: UK

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen