Programa de C++ con Unordered Multiset usando STL

C++C++Beginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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++.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/BasicsGroup -.-> cpp/variables("Variables") cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") subgraph Lab Skills cpp/variables -.-> lab-96233{{"Programa de C++ con Unordered Multiset usando STL"}} cpp/strings -.-> lab-96233{{"Programa de C++ con Unordered Multiset usando STL"}} cpp/for_loop -.-> lab-96233{{"Programa de C++ con Unordered Multiset usando STL"}} cpp/function_parameters -.-> lab-96233{{"Programa de C++ con Unordered Multiset usando STL"}} cpp/output -.-> lab-96233{{"Programa de C++ con Unordered Multiset usando STL"}} cpp/standard_containers -.-> lab-96233{{"Programa de C++ con Unordered Multiset usando STL"}} end

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 un Unordered Multiset

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 Unordered Multiset 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 Unordered Multiset utilizando 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++.