Los mapas son el contenedor en STL que se utiliza para almacenar los elementos en forma de par clave-valor . Internamente, los elementos de un mapa siempre se ordenan por su clave. Los mapas se implementan principalmente como árboles de búsqueda binarios . map::at( ) La función at() se usa para devolver la referencia al elemento asociado con la clave k . Sintaxis:
map1.at(k) Parameters: k is the Key value of the element whose associated value is accessed.
Retorno: Devuelve una referencia al valor asociado del elemento cuyo valor clave es equivalente a k . Ejemplos:
Input: map1 = { {1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'} } map1.at(2); Output: b Input: map2 = { {'w', 1}, {'x', 2}, {'y', 3} } map2.at('w'); Output: 1
CPP
// CPP program to illustrate // Implementation of swap() function #include <bits/stdc++.h> using namespace std; int main() { // Take any two maps map<int, char> map1; map<char, int> map2; map1[1] = 'a'; map1[2] = 'b'; map1[3] = 'c'; map1[4] = 'd'; map2['w'] = 1; map2['y'] = 2; map2['z'] = 3; // Print the associated element cout << "Element at map1[2] = " << map1.at(2) << endl; cout << "Element at map2['w'] = " << map2.at('w') << endl; return 0; }
Producción:
Element at map1[2] = b Element at map2['w'] = 1
map::swap( ) La función swap() se usa para intercambiar el contenido de dos mapas, pero los mapas deben ser del mismo tipo , aunque los tamaños pueden diferir. Sintaxis:
map1.swap(map2) OR swap(map1, map2) Parameters: map1 is the first map object. map2 is the second map object.
Valor devuelto: Ninguno Ejemplos:
Input : map1 = { {1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'} } map2 = { {5, 'w'}, {6, 'x'}, {7, 'y'} } swap(map1, map2) Output : map1 = { {5, 'w'}, {6, 'x'}, {7, 'y'} } map2 = { {1, 'a'}, {2, 'b'}, {3, 'c'}, {4, 'd'} }
CPP
// CPP program to illustrate // Implementation of swap() function #include <bits/stdc++.h> using namespace std; int main() { // Take any two maps map<int, char> map1, map2; map1[1] = 'a'; map1[2] = 'b'; map1[3] = 'c'; map1[4] = 'd'; map2[5] = 'w'; map2[6] = 'x'; map2[7] = 'y'; // Swap elements of queues swap(map1, map2); // Print the elements of maps cout << "map1:\n" << "\tKEY\tELEMENT\n"; for (auto it = map1.begin(); it != map1.end(); it++) cout << "\t" << it->first << "\t" << it->second << '\n'; cout << "map2:\n" << "\tKEY\tELEMENT\n"; for (auto it = map2.begin(); it != map2.end(); it++) cout << "\t" << it->first << "\t" << it->second << '\n'; return 0; }
Producción:
map1: KEY ELEMENT 5 w 6 x 7 y map2: KEY ELEMENT 1 a 2 b 3 c 4 d
Veamos las diferencias en forma tabular -:
mapa::en() | mapa::intercambiar() | |
1. | Se utiliza para devolver una referencia al valor mapeado del elemento identificado con clave | Se utiliza para intercambiar el contenido del contenedor. |
2. | Toma un parámetro que este es el valor clave del elemento cuyo valor asignado se accede. | Toma un parámetro que es el otro contenedor de mapa del mismo tipo |
3. | Su complejidad es logarítmica. | Su complejidad es constante. |
4. | Su validez de iterador no cambia. | Su valor de retorno es ninguno. |
Publicación traducida automáticamente
Artículo escrito por AKASH GUPTA 6 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA