Cómo encontrar una clave dada existe en un stdmap C ++

Cómo encontrar una clave dada existe en un stdmap C ++
Un recipiente C ++ conocido como un "Std :: mapa" se usa para contener elementos en formato de par de valor clave. Los elementos se clasifican de acuerdo con el orden de los valores clave con los que se relacionan. Una tarea típica para los desarrolladores es buscar una cierta clave en un std :: mapa.

Este artículo examinará varios enfoques para determinar si ya existe una cierta clave en una C++ std :: mapa.

Cómo encontrar una clave dada existe en un mapa C ++ STD ::

Hay dos métodos para verificar si existe una clave dada en una C++ std :: mapa.

  • std :: mapa :: encontrar
  • std :: mapa :: contar

Método 1: STD :: Map :: Buscar

encontrar() es una función útil en C ++ que se puede usar para encontrar una clave dada en una C++ std :: mapa. La función acepta una sola entrada del llave valor y buscalo. Si un elemento con un llave se descubre comparable a K, el mapa :: buscar (k) la función devuelve un iterador; de lo contrario, devuelve un iterador a mapa :: fin. La entrada del usuario dada al encontrar() la función se usa para obtener el valor clave después de inicializar el mapa de cualquier std :: par tipo.

#incluir
#incluir
#incluir
int main ()

std :: mapa mapa =
"inglés", 1, "matemáticas", 2, "ciencia", 3
;
std :: string key = "History";
if (mapa.encontrar (clave) != mapa.fin())
std :: cout << "Key found!" << std::endl;
demás
std :: cout << "Key not found!" << std::endl;

regresar 0;

En el código anterior, estamos inicializando un mapa con claves y valores. Entonces definimos una llave llamada "historia", y usa el encontrar() Método e IF Declaración para buscar si esa clave existe en el mapa o no.

Producción

Método 2: STD :: Map :: Count

contar() es otra función incorporada para encontrar una clave dada existe en un C ++ en el std :: mapa. Esta función devuelve el número de entradas que coinciden con el valor de la clave especificado. Si la clave especificada se encuentra en el mapa, el método Count () devuelve 1, de lo contrario, devuelve 0. Esto se debe a que un mapa en C ++ solo realiza un seguimiento de las teclas únicas. Para imprimir el texto afirmativo cuando la clave especificada existe en un objeto de mapa, podemos usar el contar() Llamada de función como condición IF.

#incluir
#incluir
#incluir
int main ()

std :: mapa mapa =
"inglés", 1, "matemáticas", 2, "ciencia", 3
;
std :: string key = "Maths";
if (mapa.contar (clave) != 0)
std :: cout << "Key found!" << std::endl;
demás
std :: cout << "Key not found!" << std::endl;

regresar 0;

En el código anterior, estamos inicializando un mapa con claves y valores. Entonces definimos una llave llamada "matemáticas", y usa el contar() Método e IF Declaración para buscar si esa clave existe en el mapa o no.

Producción

Conclusión

El std :: mapa El contenedor es una estructura de datos compuesta por pares de valor clave que se mantienen ordenados y cada elemento tiene una clave distinta. Hay dos métodos mencionados en el artículo anterior, encontrar() función y contar() función, para encontrar si existe una clave dada en una C++ std :: mapa. Estos métodos se pueden usar para ubicar una cierta clave en su código C ++.