Mapa en 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.
Vector en STL Vector es lo mismo que las arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento. Los elementos vectoriales se colocan en almacenamiento contiguo para que se pueda acceder a ellos y recorrerlos mediante iteradores.
Mapa de vectores en STL: El mapa de vectores puede ser muy eficiente en el diseño de estructuras de datos complejas.
Sintaxis:
map<key, vector<datatype>> map_of_vector; OR map<vector<datatype>, key> map_of_vector;
Por ejemplo : considere un problema simple donde tenemos que verificar si un vector es visitado o no.
// C++ program to demonstrate // use of map for vectors #include <bits/stdc++.h> using namespace std; map<vector<int>, int> vis; // Print True if vector is visited // or False if not visited void CheckVisited(vector<int> data) { if (vis.find(data) != vis.end()) { cout << "True" << endl; } else { cout << "False" << endl; } } // Driver code int main() { // Initializing some vectors vector<int> data_1{ 10, 20, 30, 40 }; vector<int> data_2{ 5, 10, 15 }; vector<int> data_3{ 1, 3, 5, 7, 9, 11, 13 }; // Making some vectors as visited vis[data_1] = 1; vis[data_2] = 1; vis[data_3] = 1; // checking if these vectors are // visited or not vector<int> check_1 = { 5, 10, 15 }; vector<int> check_2 = { 2, 4, 6, 8, 10, 12 }; CheckVisited(check_1); CheckVisited(check_2); return 0; }
True False