Mapa de conjuntos en C++ STL con ejemplos

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.

Los conjuntos son un tipo de contenedor asociativo en el que cada elemento tiene que ser único porque el valor del elemento lo identifica. El valor del elemento no se puede modificar una vez que se agrega al conjunto, aunque es posible eliminar y agregar el valor modificado de ese elemento.

Mapa de conjuntos en STL: un mapa de conjuntos puede ser muy útil para diseñar estructuras de datos y algoritmos complejos .

Sintaxis:

map<datatype, set<datatype>> map_of_set : almacena un conjunto de números correspondientes a un número

o

map<set<tipo de datos>, tipo de datos> map_of_set: almacena un número correspondiente a un conjunto de números

Veamos cómo implementar Maps of Sets en C++:

C++

// C++ program to demonstrate use of map of set
  
#include <bits/stdc++.h>
using namespace std;
  
void show(map<int, set<string> >& mapOfSet)
{
    // Using iterator to access
    // key, value pairs present
    // inside the mapOfSet
    for (auto it = mapOfSet.begin();
         it != mapOfSet.end();
         it++) {
  
        // Key is integer
        cout << it->first << " => ";
  
        // Value is a set of string
        set<string> st = it->second;
  
        // Strings will be printed
        // in sorted order as set
        // maintains the order
        for (auto it = st.begin();
             it != st.end(); it++) {
            cout << (*it) << ' ';
        }
        cout << '\n';
    }
}
  
// Driver code
int main()
{
    // Declaring a map whose key
    // is of integer type and
    // value is a set of string
    map<int, set<string> > mapOfSet;
  
    // Inserting values in the
    // set mapped with key 1
    mapOfSet[1].insert("Geeks");
    mapOfSet[1].insert("For");
  
    // Set stores unique or
    // distinct elements only
    mapOfSet[1].insert("Geeks");
  
    // Inserting values in the
    // set mapped with key 2
    mapOfSet[2].insert("Is");
    mapOfSet[2].insert("The");
  
    // Inserting values in the
    // set mapped with key 3
    mapOfSet[3].insert("Great");
    mapOfSet[3].insert("Learning");
  
    // Inserting values in the
    // set mapped with key 4
    mapOfSet[4].insert("Platform");
  
    show(mapOfSet);
  
    return 0;
}
Producción

1 => For Geeks 
2 => Is The 
3 => Great Learning 
4 => Platform 

Publicación traducida automáticamente

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