Programa de C++ con Unordered Multiset usando STL

C++Beginner
Practicar Ahora

Introducción

En este laboratorio, crearemos un programa en C++ para demostrar el funcionamiento de un Unordered Multiset en STL. Aprenderemos sobre el concepto de Unordered Multiset y su implementación en el lenguaje de programación C++.

Incluir archivos de encabezado

En este paso, incluiremos los archivos de encabezado necesarios para nuestro programa. Incluiremos los archivos de encabezado iostream y unordered_set.

#include<iostream>
#include<unordered_set>

using namespace std;

Definir funciones para mostrar el Multiset y el Vector

En este paso, definiremos dos funciones para mostrar el contenido de un Unordered Multiset y un Vector.

void showMultiset(unordered_multiset<int> s)
{
    unordered_multiset<int>::iterator i;

    for (i = s.begin(); i!= s.end(); i++)
    {
        cout << *i << "  ";
    }
}

void showVector(vector<int> v)
{
    vector<int>::iterator i;

    for (i = v.begin(); i!= v.end(); i++)
    {
        cout << *i << "  ";
    }
}

Declarar y llenar el Multiconjunto no ordenado

En este paso, declararemos un Unordered Multiset y lo llenaremos con algunos elementos utilizando el método insert().

unordered_multiset<int> s;

s.insert(50);
s.insert(30);
s.insert(50);
s.insert(80);
s.insert(30);
s.insert(60);

Mostrar el Multiconjunto no ordenado y su tamaño

En este paso, mostraremos el Unordered Multiset y su tamaño utilizando la función showMultiset() y el método size().

cout << "\n\nLa cantidad de elementos en el Unordered Multiset es: " << s.size();

cout << "\n\nLos elementos del Unordered Multiset son: ";
showMultiset(s);

Ordenar y mostrar el Multiconjunto no ordenado usando un Vector

En este paso, copiaremos los elementos del Unordered Multiset a un Vector y ordenaremos el Vector. Luego mostraremos los elementos ordenados del Unordered Multiset utilizando la función showVector().

vector<int> v(s.begin(), s.end());

sort(v.begin(), v.end());

cout << "\n\nLos elementos del Unordered Multiset después de ordenarlos utilizando un vector son: ";

showVector(v);

Ejecutar el código

En este paso, ejecutaremos el código compilándolo con el comando g++ y luego ejecutándolo con el comando ./a.out.

g++ main.cpp -o main &&./main

La salida debería ser:

La cantidad de elementos en el Unordered Multiset es: 6

Los elementos del Unordered Multiset son: 50  30  80  50  30  60

Los elementos del Unordered Multiset después de ordenarlos utilizando un vector son: 30  30  50  50  60  80

Resumen

En este laboratorio, aprendimos sobre el concepto de Unordered Multisets y su implementación en C++ utilizando la biblioteca STL. Vimos cómo declarar e inicializar un Unordered Multiset, cómo mostrar su contenido y cómo ordenarlo utilizando un Vector.

Esperamos que hayas disfrutado de este laboratorio y que hayas encontrado útil para aprender sobre Unordered Multisets en C++.