Come trovare una determinata chiave esiste in una stdmap C ++

Come trovare una determinata chiave esiste in una stdmap C ++
Un contenitore C ++ noto come a "Std :: mappa" viene utilizzato per tenere gli elementi in formato coppia di valore chiave. Gli elementi sono ordinati in base all'ordine dei valori chiave a cui si riferiscono. Un compito tipico per gli sviluppatori è cercare una certa chiave in std :: mappa.

Questo articolo esaminerà diversi approcci per determinare se una determinata chiave esiste già in un C++ std :: mappa.

Come trovare una determinata chiave esiste in una mappa C ++ std ::

Esistono due metodi da verificare se esiste una determinata chiave++ std :: mappa.

  • std :: map :: trova
  • std :: mappa :: conta

Metodo 1: std :: mappa :: trova

Trovare() è una funzione utile in C ++ che può essere utilizzata per trovare una determinata chiave esiste in un C++ std :: mappa. La funzione accetta un singolo input di chiave Valore e cercalo. Se un elemento con a chiave paragonabile a k viene scoperto, il mappa :: trova (k) La funzione restituisce un iteratore ad esso; Altrimenti, restituisce un iteratore a Mappa :: end. L'input dell'utente dato al file Trovare() La funzione viene utilizzata per ottenere il valore chiave dopo aver inizializzato la mappa di qualsiasi std :: coppia tipo.

#includere
#includere
#includere
int main ()

std :: mappa mappa =
"English", 1, "Maths", 2, "Science", 3
;
std :: string key = "history";
if (mappa.Trova (chiave) != mappa.FINE())
std :: cout << "Key found!" << std::endl;
altro
std :: cout << "Key not found!" << std::endl;

restituzione 0;

Nel codice sopra, stiamo inizializzando una mappa con chiavi e valori. Quindi definiamo una chiave denominata "storia", e usa il Trovare() Metodo e istruzione if da cercare se quella chiave esiste o meno nella mappa.

Produzione

Metodo 2: std :: mappa :: conta

contare() è un'altra funzione integrata per trovare una determinata chiave esiste in un C ++ in std :: mappa. Questa funzione restituisce il numero di voci che corrispondono al valore della chiave specificata. Se la chiave specificata viene trovata nella mappa, il metodo Count () restituisce 1, altrimenti restituisce 0. Questo perché una mappa in C ++ tiene solo traccia delle chiavi uniche. Per stampare il testo affermativo quando esiste la chiave specificata in un oggetto MAP, possiamo usare il contare() la funzione chiama una condizione if.

#includere
#includere
#includere
int main ()

std :: mappa mappa =
"English", 1, "Maths", 2, "Science", 3
;
std :: string key = "matematica";
if (mappa.Contare (chiave) != 0)
std :: cout << "Key found!" << std::endl;
altro
std :: cout << "Key not found!" << std::endl;

restituzione 0;

Nel codice sopra, stiamo inizializzando una mappa con chiavi e valori. Quindi definiamo una chiave denominata "matematica", e usa il contare() Metodo e istruzione if da cercare se quella chiave esiste o meno nella mappa.

Produzione

Conclusione

IL std :: mappa Il contenitore è una struttura di dati costituita da coppie di valore chiave che vengono mantenute ordinate e ogni elemento ha una chiave distinta. Ci sono due metodi menzionati nell'articolo sopra, Trovare() funzione e contare() funzione, per scoprire se esiste una determinata chiave in un c++ std :: mappa. Questi metodi possono essere utilizzati per individuare una determinata chiave nel codice C ++.