Introdução
Neste laboratório, aprenderemos como implementar um Multiset da Biblioteca Padrão (STL) em C++. Um Multiset é semelhante a um Set, pois armazena valores únicos, mas difere do Set por permitir duplicatas e não fornecer as facilidades de indexação associadas a um vector.
Criar um arquivo C++ no diretório do projeto
Criaremos um novo arquivo chamado main.cpp no diretório ~/project usando o seguinte comando:
touch ~/project/main.cpp
Adicionar os arquivos de cabeçalho
Adicione os seguintes arquivos de cabeçalho para Multiset, Input/Output Stream, Biblioteca Padrão e Iterator, conforme mostrado no exemplo abaixo:
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
Declarar o Multiset
Declare um Multiset de valores inteiros, conforme mostrado abaixo:
multiset<int> s;
Inserir valores no Multiset
Insira elementos no Multiset usando o método insert(), conforme mostrado no exemplo de código abaixo. Ele irá inserir 5, 39, 5, 82, 39 e 54 no Multiset:
s.insert(5);
s.insert(39);
s.insert(5);
s.insert(82);
s.insert(39);
s.insert(54);
Imprimir o Tamanho do Multiset e Percorrer o Multiset
Imprima o número de elementos no Multiset acessando a propriedade size() e percorra todos os elementos do Multiset usando um iterador, conforme mostrado abaixo:
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;
Remover Elementos Menores que X
Exclua todos os elementos menores que um determinado valor x usando o método erase(). O método erase() exclui todos os elementos do início do Multiset até o valor fornecido, exceto o elemento com o valor fornecido, conforme mostrado abaixo:
s.erase(s.begin(), s.find(x));
Executar e Compilar o Programa
Compile o programa usando o terminal. Use o seguinte comando para compilar o programa:
g++ main.cpp -o main && ./main
Verificar a Saída
Após executar o programa com sucesso, você obterá a seguinte saída:
The number of elements in the Multiset : 6
Elements of the Multiset : 5 5 39 39 54 82
Resumo
Este laboratório forneceu uma visão geral de Multisets em C++ usando STL. Cobrimos como declarar um Multiset, inserir valores nele e exploramos seus métodos. Também aprendemos como excluir elementos menores que um valor específico e percorrer o Multiset usando iteradores. Finalmente, executamos e compilamos o código usando o terminal para verificar a saída.



