Sobes.tech
Junior — Middle

Podes dar um exemplo de uma situação em que o uso da estrutura de dados multiset seja justificado?

sobes.tech IA

Resposta da IA

Multiset (multiconjunto) é uma estrutura de dados que armazena elementos tendo em conta o número de vezes que aparecem, ou seja, permite repetições.

Exemplo de uma situação onde um multiset é adequado:

Imagine um sistema de contagem de votos numa eleição, onde é necessário contar quantas vezes cada candidato recebeu um voto. Aqui, é importante não apenas saber quem votou, mas também quantos votos cada um recebeu.

Em C++ pode-se usar std::multiset para armazenar os votos:

#include <iostream>
#include <set>

int main() {
    std::multiset<std::string> votos;
    votos.insert("Alice");
    votos.insert("Bob");
    votos.insert("Alice");

    std::cout << "Votos para Alice: " << votos.count("Alice") << std::endl; // 2
    std::cout << "Votos para Bob: " << votos.count("Bob") << std::endl;     // 1
}

Assim, o multiset é útil quando é importante não só a unicidade dos elementos, mas também a sua quantidade.