Einführung
In diesem Labyrinth lernen Sie, wie Sie die find()-Methode in einer Map in C++ verwenden. Die find()-Methode wird verwendet, um ein Element in einer Map mit einem angegebenen Schlüssel zu suchen. Dieses Labyrinth setzt voraus, dass Sie über grundlegende Kenntnisse von C++ und dem Map-Container verfügen.
Erstellen Sie eine neue C++-Datei
Zunächst müssen Sie eine neue C++-Datei namens main.cpp im Verzeichnis ~/project erstellen. Sie können jede Texteditor- oder IDE verwenden, um diese Datei zu erstellen und zu bearbeiten.
cd ~/project
touch main.cpp
Importiere die erforderlichen Bibliotheken und Namensräume
Am Anfang der main.cpp-Datei müssen Sie die erforderlichen Bibliotheken und die Namensraumangabe einfügen.
#include <iostream>
#include <map> //include map library
using namespace std;
Definiere die Hauptfunktion
Definieren Sie die main()-Funktion, um mit Ihrem Code zu beginnen.
int main() {
//Ihr Code
return 0; //Beendet das Programm
}
Erstelle einen Map-Container
Erstellen Sie einen Map-Container mit ganzzahligen Schlüsseln und Werten. Der Map-Container speichert Schlüssel-Wert-Paare, die nach aufsteigender Reihenfolge der Schlüssel sortiert sind.
map<int, int> myMap; //Create a Map container with integer keys and values
Füge Elemente in die Map ein
Verwenden Sie die insert()-Methode, um Schlüssel-Wert-Paare in den Map-Container einzufügen. In diesem Schritt werden fünf Elemente in die Map eingefügt.
myMap.insert(make_pair(3, 9));
myMap.insert(make_pair(2, 4));
myMap.insert(make_pair(5, 25));
myMap.insert(make_pair(9, 81));
myMap.insert(make_pair(1, 1));
Verwende die find()-Methode, um ein Element zu suchen
Verwenden Sie die find(x)-Methode, um ein Element mit dem Schlüssel x in der Map zu suchen. Wenn das Element gefunden wird, gibt die Methode einen Iterator auf das Element zurück. Wenn es nicht gefunden wird, gibt die Methode einen Iterator auf das end() des Map-Containers zurück. Hier werden wir Elemente mit den Schlüsseln 5 und 6 suchen.
map<int, int>::iterator it; //Create an iterator for the Map container
it = myMap.find(5); //Find the element with key 5 in the Map
if (it!= myMap.end()) {
cout << "Element with key 5 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 5 is not found\n";
}
it = myMap.find(6); //Find the element with key 6 in the Map
if (it!= myMap.end()) {
cout << "Element with key 6 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 6 is not found\n";
}
Kompiliere und führe das Programm aus
Kompilieren Sie die Datei main.cpp im Terminal mit dem folgenden Befehl:
g++ main.cpp -o main
Führen Sie das Programm mit dem folgenden Befehl aus:
./main
Teste das Programm
Nachdem Sie das Programm ausgeführt haben, sollten Sie in der Konsole die folgende Ausgabe sehen:
Element with key 5 is found and the value is 25
Element with key 6 is not found
Diese Ausgabe zeigt, dass das Element mit dem Schlüssel 5 in der Map gefunden wurde und sein Wert 25 ist. Das Element mit dem Schlüssel 6 wurde in der Map nicht gefunden.
Vervollständige den Code
Kopieren Sie und fügen Sie folgenden vollständigen Code in die Datei main.cpp ein.
#include <iostream>
#include <map>
using namespace std;
int main() {
map<int, int> myMap; //Create a Map container with integer keys and values
myMap.insert(make_pair(3, 9));
myMap.insert(make_pair(2, 4));
myMap.insert(make_pair(5, 25));
myMap.insert(make_pair(9, 81));
myMap.insert(make_pair(1, 1));
map<int, int>::iterator it; //Create an iterator for the Map container
it = myMap.find(5); //Find the element with key 5 in the Map
if (it!= myMap.end()) {
cout << "Element with key 5 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 5 is not found\n";
}
it = myMap.find(6); //Find the element with key 6 in the Map
if (it!= myMap.end()) {
cout << "Element with key 6 is found and the value is " << it->second << endl;
} else {
cout << "Element with key 6 is not found\n";
}
return 0; //Exit program
}
Zusammenfassung
Herzlichen Glückwunsch! Sie haben erfolgreich gelernt, wie die find()-Methode in einem Map-Container in C++ verwendet wird. Die find()-Methode ist hilfreich, um Elemente mit einem bestimmten Schlüssel in einem Map-Container zu suchen. Denken Sie daran, dass die find()-Methode einen Iterator auf das Element zurückgibt, wenn das Element gefunden wird, und einen Iterator auf das end() des Map-Containers, wenn das Element nicht gefunden wird.



