Multiset en C++ con la STL

C++Beginner
Practicar Ahora

Introducción

En este laboratorio, aprenderemos cómo implementar Multiset de la Biblioteca Estándar (STL) en C++. Un Multiset es similar a un Set en el sentido de que almacena valores únicos, pero se diferencia del Set en que permite duplicados y no proporciona las facilidades de indexación asociadas con vector.

Crea un archivo C++ en el directorio del proyecto

Crearemos un nuevo archivo llamado main.cpp en el directorio ~/project utilizando el siguiente comando:

touch ~/project/main.cpp

Agrega los archivos de cabecera

Agrega los siguientes archivos de encabezado para Multiset, flujo de entrada/salida (Input/Output Stream), Biblioteca Estándar y Iterador como se muestra en el siguiente ejemplo:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

Declara el Multiset

Declara un Multiset de valores enteros, como se muestra a continuación:

multiset<int> s;

Inserta valores en el Multiset

Inserta elementos en el Multiset utilizando el método insert(), como se muestra en el siguiente código de ejemplo. Insertará 5, 39, 5, 82, 39 y 54 en el Multiset:

s.insert(5);
s.insert(39);
s.insert(5);
s.insert(82);
s.insert(39);
s.insert(54);

Imprime el tamaño del Multiset y recorre el Multiset

Imprime el número de elementos en el Multiset accediendo a la propiedad size() y recorre todos los elementos del Multiset utilizando un iterador, como se muestra a continuación:

cout << "The number of elements in the Multiset : " << s.size() << "\n";

multiset<int>::iterator it;
cout << "\nElements of the Multiset : ";
for (it = s.begin(); it!= s.end(); it++)
    cout << *it << " ";
cout << endl;

Elimina elementos menores que X

Elimina todos los elementos menores que un valor x dado utilizando el método erase(). El método erase() elimina todos los elementos desde el inicio del Multiset hasta el valor dado, excepto el elemento con el valor dado, como se muestra a continuación:

s.erase(s.begin(), s.find(x));

Ejecuta y compila el programa

Compila el programa utilizando la terminal. Utiliza el siguiente comando para compilar el programa:

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

Revisa la salida

Después de ejecutar el programa con éxito, obtendrás la siguiente salida:

The number of elements in the Multiset : 6

Elements of the Multiset : 5 5 39 39 54 82

Resumen

Este laboratorio (lab) ofreció una visión general de los Multisets en C++ utilizando la Biblioteca Estándar de Plantillas (Standard Template Library, STL). Cubrimos cómo declarar un Multiset, insertar valores en él y exploramos sus métodos. También aprendimos cómo eliminar elementos menores que un valor específico y recorrer el Multiset utilizando iteradores. Finalmente, ejecutamos y compilamos el código utilizando la terminal para verificar la salida.