Hvordan finne en gitt nøkkel eksisterer i en C ++ STDMAP

Hvordan finne en gitt nøkkel eksisterer i en C ++ STDMAP
En C ++ container kjent som en “STD :: Kart” brukes til å holde varer i nøkkelverdi-parformat. Elementene er sortert etter rekkefølgen på nøkkelverdiene de forholder seg til. En typisk oppgave for utviklere er å se etter en viss nøkkel i en std :: kart.

Denne artikkelen vil undersøke flere tilnærminger for å avgjøre om en viss nøkkel allerede eksisterer i en C++ std :: kart.

Hvordan finne en gitt nøkkel eksisterer i en C ++ std :: kart

Det er to metoder for å sjekke om det finnes en gitt nøkkel i en C++ std :: kart.

  • std :: kart :: finn
  • std :: kart :: telling

Metode 1: Std :: Kart :: Finn

finne() er en nyttig funksjon i C ++ som kan brukes til å finne en gitt nøkkel i en C++ std :: kart. Funksjonen godtar en enkelt inngang av nøkkel verdi og søker etter det. Hvis et element med en nøkkel sammenlignbar med k blir oppdaget, Kart :: Finn (K) funksjon returnerer en iterator til den; Ellers returnerer den en iterator til Kart :: Slutt. Brukerinngangen gitt til finne() Funksjon brukes til å oppnå nøkkelverdien etter initialisering av kartet over noen std :: par type.

#inkludere
#inkludere
#inkludere
int main ()

std :: kart kart =
"engelsk", 1, "matematikk", 2, "vitenskap", 3
;
STD :: String Key = "History";
hvis (kart.Finn (nøkkel) != kart.slutt())
std :: cout << "Key found!" << std::endl;
annet
std :: cout << "Key not found!" << std::endl;

retur 0;

I koden ovenfor initialiserer vi et kart med nøkler og verdier. Så definerer vi en nøkkel som heter "historie", og bruk finne() metode og hvis uttalelse for å søke om den tasten eksisterer på kartet eller ikke.

Produksjon

Metode 2: std :: kart :: telling

telle() er en annen innebygd funksjon for å finne en gitt nøkkel eksisterer i en C ++ i std :: kart. Denne funksjonen returnerer antall oppføringer som samsvarer med den spesifiserte nøkkelverdien. Hvis den spesifiserte tasten finnes på kartet, returnerer count () -metoden 1, ellers returnerer den 0. Dette er fordi et kart i C ++ bare holder oversikt over unike nøkler. For å skrive ut den bekreftende teksten når den spesifiserte tasten finnes i et kartobjekt, kan vi bruke telle() Funksjonsanrop som en IF -tilstand.

#inkludere
#inkludere
#inkludere
int main ()

std :: kart kart =
"engelsk", 1, "matematikk", 2, "vitenskap", 3
;
std :: String key = "Maths";
hvis (kart.teller (nøkkel) != 0)
std :: cout << "Key found!" << std::endl;
annet
std :: cout << "Key not found!" << std::endl;

retur 0;

I koden ovenfor initialiserer vi et kart med nøkler og verdier. Så definerer vi en nøkkel som heter "matte", og bruk telle() metode og hvis uttalelse for å søke om den tasten eksisterer på kartet eller ikke.

Produksjon

Konklusjon

De std :: kart Container er en datastruktur som består av nøkkelverdipar som holdes bestilt, og hvert element har en distinkt nøkkel. Det er to metoder nevnt i artikkelen ovenfor, finne() funksjon og telle() funksjon, for å finne om en gitt tast eksisterer i en C++ std :: kart. Disse metodene kan brukes til å finne en viss nøkkel i C ++ -koden.