So finden Sie einen bestimmten Schlüssel in einem C ++ StDmap

So finden Sie einen bestimmten Schlüssel in einem C ++ StDmap
Ein C ++ - Container, der als a bekannt ist "Std :: map" wird verwendet, um Elemente im Schlüsselwertpaarformat zu halten. Die Elemente werden nach der Reihenfolge der Schlüsselwerte sortiert, mit denen sie sich beziehen. Eine typische Aufgabe für Entwickler ist es, nach einem bestimmten Schlüssel in a zu suchen std :: map.

In diesem Artikel werden mehrere Ansätze untersucht, um festzustellen, ob ein bestimmter Schlüssel bereits in einem c vorhanden ist++ std :: map.

So finden Sie einen bestimmten Schlüssel in einer C ++ Std :: Karte

Es gibt zwei Methoden, um zu überprüfen, ob ein bestimmter Schlüssel in einem c vorhanden ist++ std :: map.

  • std :: map :: find find
  • std :: map :: count

Methode 1: std :: map :: find find

finden() ist eine nützliche Funktion in C ++, die verwendet werden kann, um einen bestimmten Schlüssel in einem c zu finden++ std :: map. Die Funktion akzeptiert eine einzelne Eingabe der Taste Wert und sucht danach. Wenn ein Element mit a Taste vergleichbar mit k wird entdeckt, die Karte :: Find (k) Funktion gibt einen Iterator zurück; Ansonsten gibt es einen Iterator zurück zu zurück zu Karte :: Ende. Die Benutzereingabe, die dem gegeben wird finden() Funktion wird verwendet, um den Schlüsselwert nach der Initialisierung der Karte einer beliebig zu erhalten std :: pair Typ.

#enthalten
#enthalten
#enthalten
int main ()

std :: map map =
"Englisch", 1, "Maths", 2, "Science", 3
;
std :: string key = "history";
if (Karte.Finden (Schlüssel) != Karte.Ende())
std :: Cout << "Key found!" << std::endl;
anders
std :: Cout << "Key not found!" << std::endl;

Rückkehr 0;

Im obigen Code initialisieren wir eine Karte mit Schlüsseln und Werten. Dann definieren wir einen Schlüssel mit dem Namen "Geschichte", und benutze die finden() Methode und Anweisung zu suchen, wenn dieser Schlüssel in der Karte vorliegt oder nicht.

Ausgang

Methode 2: std :: map :: count

zählen() ist eine weitere integrierte Funktion, um einen bestimmten Schlüssel in einem C ++ in der zu finden std :: map. Diese Funktion gibt die Anzahl der Einträge zurück, die mit dem angegebenen Schlüsselwert übereinstimmen. Wenn der angegebene Schlüssel in der Karte gefunden wird, gibt die Methode count () 1 zurück, sonst gibt sie 0 zurück. Dies liegt daran, dass eine Karte in C ++ nur einzigartige Schlüssel verfolgt. Um den bejahenden Text zu drucken, wenn der angegebene Schlüssel in einem Kartenobjekt vorhanden ist, können wir die verwenden zählen() Funktionsaufruf als if -Bedingung.

#enthalten
#enthalten
#enthalten
int main ()

std :: map map =
"Englisch", 1, "Maths", 2, "Science", 3
;
std :: string key = "maths";
if (Karte.zählen (Schlüssel) != 0)
std :: Cout << "Key found!" << std::endl;
anders
std :: Cout << "Key not found!" << std::endl;

Rückkehr 0;

Im obigen Code initialisieren wir eine Karte mit Schlüsseln und Werten. Dann definieren wir einen Schlüssel mit dem Namen "Mathe", und benutze die zählen() Methode und Anweisung zu suchen, wenn dieser Schlüssel in der Karte vorliegt oder nicht.

Ausgang

Abschluss

Der std :: map Der Container ist eine Datenstruktur, die aus Schlüsselwertpaaren besteht, die geordnet sind, und jedes Element hat einen bestimmten Schlüssel. In dem obigen Artikel werden zwei Methoden erwähnt, finden() Funktion und zählen() Funktion, um zu finden, ob ein bestimmter Schlüssel in einem c existiert++ std :: map. Diese Methoden können verwendet werden, um einen bestimmten Schlüssel in Ihrem C ++ - Code zu finden.