Мультисет: что это такое и как его использовать
Multiset - это контейнер, используемый в языке программирования C++, который представляет собой набор упорядоченных элементов, в котором может быть несколько одинаковых значений. Это отличается от обычного множества (set), где каждый элемент уникален.
Multiset можно использовать для хранения и обработки данных, когда нам нужно сохранить несколько экземпляров одного и того же значения. Основное преимущество multiset в том, что его элементы автоматически упорядочиваются, что позволяет выполнять операции, такие как поиск, удаление и вставка элементов, за время O(log(n)), где n - количество элементов в multiset.
Для работы с multiset в языке программирования C++ необходимо подключить заголовочный файл
cpp
#include
#include
int main() {
std::multiset myMultiset;
// Вставка элементов в multiset
myMultiset.insert(5);
myMultiset.insert(9);
myMultiset.insert(2);
myMultiset.insert(5); // добавляем повторяющийся элемент
// Получение размера multiset
std::cout << "Size of multiset: " << myMultiset.size() << std::endl;
// Перебор элементов multiset
std::cout << "Elements in multiset: ";
for (const auto& element : myMultiset) {
std::cout << element << " ";
}
std::cout << std::endl;
// Поиск элемента в multiset
auto searchResult = myMultiset.find(5);
if (searchResult != myMultiset.end()) {
std::cout << "Element 5 found!" << std::endl;
} else {
std::cout << "Element 5 not found." << std::endl;
}
// Удаление элемента из multiset
myMultiset.erase(5);
// Повторный поиск элемента в multiset
searchResult = myMultiset.find(5);
if (searchResult != myMultiset.end()) {
std::cout << "Element 5 found!" << std::endl;
} else {
std::cout << "Element 5 not found." << std::endl;
}
return 0;
}
В данном примере мы создали multiset, вставили в него несколько элементов, включая повторяющийся элемент, вывели его размер и содержимое, а затем выполнили поиск и удаление элемента. В результате выводится информация о том, был ли найден элемент в multiset или нет.
Заметьте, что multiset автоматически упорядочивает элементы по возрастанию, поэтому вывод содержимого multiset будет в порядке 2, 5, 5, 9.