Insertar elementos en el mapa | STL C ++

función () con el Ejemplo C ++ STL mapa :: insert: Aquí, vamos a aprender a elementos de inserción en el mapa en C ++ STL ?

Los mapas son contenedores asociativos. Mapas de la tienda elementos en forma de un par de valor clave y hay valor asignado y el valor de la clave se almacenan en una manera ordenada. El tiempo necesario para insertar un elemento en el mapa es generalmente O (log n). Hay varias formas de insertar elementos en un mapa, algunos métodos se discuten en este artículo.

1) Usando la función insert ()

std :: map :: insert () función está construido en función en C ++ STL y class usado inserción de los elementos en el mapa. Podemos utilizar esta función en las siguientes maneras:

  • inserción (par) : para insertar un par en el mapa.
  • inserto (pos, par) : para insertar un par en la posición especificada en un mapa.
  • inserto (BEG, final) : se utiliza para copiar el contenido de un mapa a otro.

Ejemplo:

#include <iostream> 
#include <map>
using namespace std;
int main()
{
map< char, int > myMap;
// declaring iterators
map<char, int>::iterator it ;
map<char, int>::iterator it1;
// example of insert(pair)
myMap.insert( pair<char, int>('P', 100) );
// printing elements of map after insertion
cout << "The elements of map after insertion : n";
for (it1 = myMap.begin(); it1!=myMap.end(); ++it1)
cout << it1->first << " : " << it1->second << endl;
it = myMap.begin();
// example of insert(pos, pair)
// inserting map pair by specifying position
myMap.insert(it, pair<char, int>('Q', 101) );
cout << endl ;
//elements in map after insertion
cout << "The elements of map after insertion using insert(pos, pair) : n";
for (it1 = myMap.begin(); it1!=myMap.end(); ++it1)
cout << it1->first << " : " << it1->second << endl;
// initializing another map
map<char, int> myMap2;
// using insert(beg_iter, end_iter) to copy all elements
myMap2.insert(myMap.begin(), myMap.end());
cout << endl ;
// printing elements of map
cout << "The elements of new map after using insert(beg_iter, end_iter) : n";
for (it1 = myMap2.begin(); it1!=myMap2.end(); ++it1)
cout << it1->first << " : " << it1->second << endl;
return 0;
}

salida

The elements of map after insertion :
P : 100
The elements of map after insertion using insert(pos, pair) :
P : 100
Q : 101
The elements of new map after using insert(beg_iter, end_iter) :
P : 100
Q : 101

2) Utilizando [] operador

Usando [] operador , podemos directamente inserto una elemento en un mapa. Se devuelve el puntero al elemento y el tamaño del mapa de nueva construcción siempre se incrementa en 1.

Ejemplo:

#include <iostream>
#include <map>
#include <string>
using namespace std;
int main ()
{
map<char,string> mymap;
// inserting elements
mymap['i']="include";
mymap['h']="help";
//printng the elements of map
cout << "mymap['i'] is " << mymap['i'] << endl;
cout << "mymap['h'] is " << mymap['h'] << endl;
cout << "now mymap contains " << mymap.size() << " elements."<<endl;
return 0;
}

salida

mymap['i'] is include
mymap['h'] is help
now mymap contains 2 elements.


Deja un comentario

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