map::begin() y end() en C++ STL

Los mapas son contenedores asociativos que almacenan elementos en forma de mapa. Cada elemento tiene un valor clave y un valor asignado. Dos valores asignados no pueden tener los mismos valores clave.

mapa::empezar()

La función begin() se usa para devolver un iterador que apunta al primer elemento del contenedor del mapa. La función begin() devuelve un iterador bidireccional al primer elemento del contenedor. Sintaxis:

mapname.begin()
Parameters :
No parameters are passed.
Returns :
This function returns a bidirectional
iterator pointing to the first element.

Ejemplos:

Input  : mymap['a'] = 1;
         mymap['b'] = 2;
         mymap['c'] = 3;
         mymap.begin();
Output : returns an iterator to the element 'a' = 1

Input  : mymap['d'] = 1;
         mymap.begin();
Output : returns an iterator to the element 'd' = 1

Errores y Excepciones 1. No tiene garantía de lanzamiento de excepciones. 2. Muestra error cuando se pasa un parámetro. 

CPP

// Demonstrates begin() and end()
#include <iostream>
#include <map>
using namespace std;
 
int main()
{
    // declaration of map container
    map<char, int> mymap;
    mymap['a'] = 1;
    mymap['b'] = 2;
    mymap['c'] = 3;
 
    // using begin() to print map
    for (auto it = mymap.begin();
         it != mymap.end(); ++it)
        cout << it->first << " = "
             << it->second << '\n';
    return 0;
}

Producción:

a = 1
b = 2
c = 3
mapa::fin()

La función end() se usa para devolver un iterador que apunta al último elemento del contenedor del mapa. Dado que no hace referencia a un elemento válido, no puede desreferenciarse. La función end() devuelve un iterador bidireccional. Sintaxis:

mapname.end()
Parameters :
No parameters are passed.
Returns :
This function returns a bidirectional
iterator pointing to the next of last element.

Ejemplos:

Input  : mymap['a'] = 1;
         mymap['b'] = 2;
         mymap['c'] = 3;
         mymap.end();
Output : returns an iterator to next to c 
(after last element)

Errores y Excepciones 1. No tiene garantía de lanzamiento de excepciones. 2. Muestra error cuando se pasa un parámetro. 

CPP

// CPP program to illustrate
// Demonstrates begin() and end()
#include <iostream>
#include <map>
using namespace std;
 
int main()
{
    // declaration of map container
    map<char, int> mymap;
    mymap['a'] = 1;
    mymap['b'] = 2;
    mymap['c'] = 3;
 
    // using begin() to print map
    for (auto it = mymap.begin();
         it != mymap.end(); ++it)
        cout << it->first << " = "
             << it->second << '\n';
    return 0;
}

Producción:

a = 1
b = 2
c = 3

Veamos las diferencias en forma tabular -:

  mapa::empezar() mapa::fin()
1. Se utiliza para devolver un iterador que hace referencia al primer elemento del contenedor del mapa. Se utiliza para devolver un iterador que se refiere al elemento pasado el final en el contenedor del mapa.
2.

Su sintaxis es -:

iterador begin();

Su sintaxis es -:
iterator end();
3. No toma ningún parámetro. No toma ningún parámetro.
4. Su complejidad es constante. Su complejidad es constante.
5. Su validez de iterador no cambia. Su validez de iterador no cambia.

Publicación traducida automáticamente

Artículo escrito por AyushSaxena 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 *