inserción de mapa() en C++ STL

El map::insert() es una función integrada en C++ STL que se usa para insertar elementos con una clave particular en el contenedor del mapa. 

  • Sintaxis: 
iterator map_name.insert({key, element})



Parámetros: la función acepta un par que consta de una clave y un elemento que se insertará en el contenedor del mapa. La función no inserta la clave y el elemento en el mapa si la clave ya existe en el mapa. 

Valor devuelto: la función devuelve un iterador que apunta al nuevo elemento en el contenedor. 

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

C++

// C++ program to illustrate
// map::insert({key, element})
#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, 60 });
  
    // does not inserts key 2 with element 20
    mp.insert({ 2, 20 });
    mp.insert({ 5, 50 });
  
    // prints the elements
    cout << "KEY\tELEMENT\n";
    for (auto itr = mp.begin(); itr != mp.end(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}
Producción: 

KEY    ELEMENT
1    40
2    30
3    60
5    50



 

  • Sintaxis: 
iterator map_name.insert(iterator position, {key, element})



Parámetros: La función acepta dos parámetros que se describen a continuación: 

  • {clave, elemento}: Esto especifica un par que consta de una clave y un elemento que se insertará en el contenedor del mapa.
  • posición: No especifica la posición donde se va a realizar la inserción, solo apunta a una posición desde donde se va a iniciar la operación de búsqueda de inserción para agilizar el proceso. La inserción se realiza según el orden que sigue el contenedor del mapa.

Valor devuelto:

C++

// C++ program to illustrate 
// map::insert(iteratorposition, {key, element}) 
#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 }); 
  
    auto it = mp.find(2); 
  
    // inserts {3, 60} starting the search from 
    // position where 2 is present 
    mp.insert(it, { 3, 60 }); 
  
    // prints the elements 
    cout << "KEY\tELEMENT\n"; 
    for (auto itr = mp.begin(); itr != mp.end(); ++itr) { 
        cout << itr->first 
            << '\t' << itr->second << '\n'; 
    } 
    return 0; 
} 

Producción:

KEY    ELEMENT
1    40
2    30
3    60

  • Sintaxis: 
iterator map_name.insert(iterator position1, iterator position2)



CPP-STL-Self-Paced-Course

Parámetros: La función acepta dos parámetros position1 y position2 que especifican el rango de elementos. Todos los elementos del rango [posición 1, último] se insertan en otro contenedor de mapas. 

Valor devuelto: la función devuelve un iterador que apunta al nuevo elemento en el contenedor. 

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

C++

// C++ program to illustrate
// map::insert(iteratorposition1, iteratorposition2)
#include <bits/stdc++.h>
using namespace std;
  
int main()
{
  
    // initialize container
    map<int, int> mp, mp1;
  
    // insert elements in random order
    mp.insert({ 2, 30 });
    mp.insert({ 1, 40 });
  
    // inserts all elements in range
    // [begin, end) in mp1
    mp1.insert(mp.begin(), mp.end());
  
    // prints the elements
    cout << "Elements in mp1 are\n";
    cout << "KEY\tELEMENT\n";
    for (auto itr = mp1.begin(); itr != mp1.end(); ++itr) {
        cout << itr->first
             << '\t' << itr->second << '\n';
    }
    return 0;
}
Producción: 

Elements in mp1 are
KEY    ELEMENT
1    40
2    30



 

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 *