C++: Verwendung der find-Methode in STL-Map

C++C++Beginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/BasicsGroup -.-> cpp/data_types("Data Types") cpp/BasicsGroup -.-> cpp/operators("Operators") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/conditions("Conditions") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/data_types -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/operators -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/strings -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/conditions -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/output -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/user_input -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/files -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/standard_containers -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} cpp/code_formatting -.-> lab-96231{{"C++: Verwendung der find-Methode in STL-Map"}} end

Erstellen einer neuen 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

Enthalten Sie 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;

Definieren Sie die Hauptfunktion

Definieren Sie die main()-Funktion, um mit Ihrem Code zu beginnen.

int main() {
  //Ihr Code
  return 0;   //Beendet das Programm
}

Erstellen eines Map-Containers

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ügen Sie 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));

Verwenden Sie 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";
}

Kompilieren und Ausführen des Programms

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

Testen des Programms

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.

Vollständigen Code vervollständigen

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.