Junior — Middle
Poți oferi un exemplu de situație în care utilizarea structurii de date multiset este justificată?
sobes.tech AI
Răspuns de la AI
Multiset (мультимножество) — это структура данных, которая хранит элементы с учётом количества их вхождений, то есть допускает повторения.
Пример ситуации, где multiset оправдан:
Представим систему учёта голосов на выборах, где нужно подсчитать, сколько раз каждый кандидат получил голос. Здесь важно не просто знать, кто голосовал, а сколько голосов получил каждый кандидат.
В C++ можно использовать std::multiset для хранения голосов:
#include <iostream>
#include <set>
int main() {
std::multiset<std::string> votes;
votes.insert("Alice");
votes.insert("Bob");
votes.insert("Alice");
std::cout << "Голоса за Alice: " << votes.count("Alice") << std::endl; // 2
std::cout << "Голоса за Bob: " << votes.count("Bob") << std::endl; // 1
}
Таким образом, multiset удобен, когда важна не только уникальность элементов, но и их количество.