C++-Programminitialisierungswörterbuch

王林
Freigeben: 2023-09-09 19:01:03
nach vorne
948 Leute haben es durchsucht

C++-Programminitialisierungswörterbuch

C++ unterscheidet sich von Python durch das gleichnamige Wörterbuch, hat aber die gleiche Datenstruktur mit ähnlicher Funktionalität. C++ unterstützt Mapping, das in der STL-Klasse std::map verwendet werden kann. Das Kartenobjekt enthält in jedem Eintrag ein Wertepaar, einer ist der Schlüsselwert und der andere ist der Kartenwert. Mithilfe von Schlüsselwerten werden Einträge in der Karte gesucht und eindeutig identifiziert. Während zugeordnete Werte nicht unbedingt eindeutig sind, müssen Schlüsselwerte in der Karte immer eindeutig sein. Werfen wir einen Blick auf die Verwendung von Mapping.

Sehen wir uns zunächst an, wie man eine zugeordnete Datenstruktur in C++ definiert.

Grammatik

#include  map  myMap; 
Nach dem Login kopieren

Nehmen wir ein Beispiel und sehen, wie das geht −

Beispiel

#include  #include  using namespace std; int main() { //initialising the map map  myMap; //inserting two key-value pairs myMap.insert({1, "Hello"}); myMap.insert({2, "World"}); //displaying the key-value pairs for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) { cout << itr->first << " " << itr->second << endl; } return 0; }
Nach dem Login kopieren

Ausgabe

1 Hello 2 World
Nach dem Login kopieren

In C++ können Maps auf unterschiedliche Weise initialisiert werden. Der Algorithmus ist sehr einfach.

Algorithmus

  • Erstellen Sie Kartenobjekte.

  • Weisen Sie einem Objekt einen Wert zu, wenn Sie es deklarieren.

Initialisieren Sie die Karte mithilfe einer Initialisierungsliste

Das Initialisieren einer Karte mithilfe einer Initialisierungsliste ist dasselbe wie das Initialisieren eines Arrays in C++. Wir müssen bei der Deklaration der Zuordnung lediglich Schlüssel-Wert-Paare in geschweiften Klammern im Format {Schlüssel, Wert} zuweisen. Die Syntax ist wie folgt.

Grammatik

#include  map  myMap = {{key1, value1}, {key2, value2}};
Nach dem Login kopieren

Beispiel

#include  #include  using namespace std; int main() { //initialising the map map  myMap = {{1, "One"}, {2, "Two"}, {3, "Three"}}; //displaying the key-value pairs for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) { cout << itr->first << " " << itr->second << '\n'; } return 0; }
Nach dem Login kopieren

Ausgabe

1 One 2 Two 3 Three
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Initialisieren Sie die Karte mit dem Zuweisungsoperator

Dies ähnelt dem Zuweisen eines Werts zu einem bestimmten Index in einem Array. Wir haben den Index nicht erwähnt, sondern die Schlüsselwerte wie in einem Array in den Kartenindex eingefügt.

Grammatik

#include  map  myMap; myMap[key1] = value1; 
Nach dem Login kopieren

Beispiel

#include  #include  using namespace std; int main() { //declaring the map map  myMap; myMap[1] = "One"; myMap[2] = "Two"; myMap[3] = "Three"; //displaying the key-value pairs for (auto itr = myMap.begin(); itr != myMap.end(); ++itr) { cout << itr->first << " " << itr->second << '\n'; } return 0; }
Nach dem Login kopieren

Ausgabe

1 One 2 Two 3 Three
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Eine Karte von einer anderen Karte initialisieren

Es kann erforderlich sein, eine Karte in eine andere Karte zu kopieren, damit wir eine Karte von einer anderen Karte initialisieren können. Wir nutzen den Kopierkonstruktor der Kartenklasse, indem wir das Kartenobjekt zum Zeitpunkt der Deklaration an den Kopierkonstruktor der Karte übergeben.

Grammatik

#include  map  myMap1(myMap2);
Nach dem Login kopieren

Beispiel

#include  #include  using namespace std; int main() { //declaring the map map  myMap; myMap[1] = "One"; myMap[2] = "Two"; myMap[3] = "Three"; //copying using copy constructor map  myMap2(myMap); //displaying the key-value pairs for (auto itr = myMap2.begin(); itr != myMap2.end(); ++itr) { cout << itr->first << " " << itr->second << '\n'; } return 0; }
Nach dem Login kopieren

Ausgabe

1 One 2 Two 3 Three
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Fazit

Map in C++ ist eine geordnete Sammlung, das heißt, die Elemente in der Map sind nach Schlüsselwert sortiert. Dies macht es langsamer im Vergleich zu anderen ähnlichen Datenstrukturen, beispielsweise einer ungeordneten Karte, bei der Schlüssel-Wert-Paare nicht sortiert sind. Alle Operationen in der Karte haben eine logarithmische Komplexität und werden im Speicher als rot-schwarzer Baum implementiert. In der Praxis ist die Zuordnung jedoch sehr nützlich, da sie eine große Flexibilität bei der Speicherung von Daten auf Schlüsselwertbasis bietet. Wir haben alle wichtigen Möglichkeiten zur Initialisierung einer Karte besprochen. Es gibt zwar viele Möglichkeiten zur Initialisierung, diese sind jedoch die intuitivsten.

Das obige ist der detaillierte Inhalt vonC++-Programminitialisierungswörterbuch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!