Función map find() en C++ STL

El map::find() es una función incorporada en C++ STL que devuelve un iterador o un iterador constante que se refiere a la posición donde está presente la clave en el mapa. Si la clave no está presente en el contenedor del mapa, devuelve un iterador o un iterador constante que se refiere a map.end()


Sintaxis: 

iterator=map_name.find(key)
        or 
constant iterator=map_name.find(key)

Parámetros: la función acepta una clave de parámetro obligatoria, que especifica la clave que se buscará en el contenedor del mapa. 

Valor de retorno: la función devuelve un iterador o un iterador constante que se refiere a la posición donde está presente la clave en el mapa. Si la clave no está presente en el contenedor del mapa, devuelve un iterador o un iterador constante que hace referencia a map.end(). 

Complejidad de tiempo para buscar elementos: 
La complejidad de tiempo para buscar elementos en std::map es O(log n). Incluso en el peor de los casos, será O(log n) porque los elementos se almacenan internamente como árbol de búsqueda binaria equilibrada (BST), mientras que, en std::unordered_map , en el mejor de los casos, la complejidad de tiempo para la búsqueda es O(1).

CPP-STL-Self-Paced-Course

A continuación se muestra la ilustración de la función anterior: 

CPP

// C++ program for illustration
// of map::find() function
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // Initialize container
    map<int, int> mp;
  
    // Insert elements in random order
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
    mp.insert({ 3, 20 });
    mp.insert({ 4, 50 });
  
    cout << "Elements from position of 3 in the map are : \n";
    cout << "KEY\tELEMENT\n";
  
    // find() function finds the position
    // at which 3 is present
    for (auto itr = mp.find(3); itr != mp.end(); itr++) {
        
        cout << itr->first << '\t' << itr->second << '\n';
    }
  
    return 0;
}
Producción

The elements from position 3 in map are : 
KEY    ELEMENT
3    20
4    50

Complejidad de Tiempo: O(log n)
Espacio Auxiliar: O(n)

Publicación traducida automáticamente

Artículo escrito por gopaldave y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *