Multiset em C++ com STL

C++Beginner
Pratique Agora

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.