Unordered Set: Exploring the Features and Implementation in C++
Unordered set (неупорядоченное множество) - это контейнер в стандартной библиотеке C++, который представляет собой коллекцию уникальных элементов без какого-либо определенного порядка. В отличие от контейнера set, unordered set не сохраняет элементы в отсортированном виде. Вместо этого он использует хэш-таблицу для хранения элементов и обеспечивает операции вставки, удаления и поиска элементов за почти постоянное время.
Пример использования unordered set:
cpp
#include
#include
int main() {
// Создаем unordered set с использованием int
std::unordered_set mySet;
// Вставляем элементы
mySet.insert(5);
mySet.insert(2);
mySet.insert(8);
// Перебираем элементы неупорядоченного множества и выводим их
for (const auto& elem : mySet) {
std::cout << elem << " ";
}
std::cout << std::endl;
// Проверяем наличие элемента
if (mySet.count(5) > 0) {
std::cout << "Элемент 5 находится в неупорядоченном множестве." << std::endl;
}
// Удаляем элемент
mySet.erase(2);
// Перебираем элементы неупорядоченного множества и выводим их
for (const auto& elem : mySet) {
std::cout << elem << " ";
}
std::cout << std::endl;
return 0;
}
В этом примере мы создаем неупорядоченное множество `mySet` и вставляем в него элементы 5, 2 и 8. Затем мы перебираем элементы множества с помощью цикла for и выводим их на экран. Далее мы проверяем наличие элемента 5 в множестве с помощью функции `count`. Если элемент существует, выводим сообщение о его наличии. Затем мы удаляем элемент 2 из множества с помощью функции `erase` и вновь перебираем и выводим элементы множества.
В результате выполнения программы будет выведено:
5 2 8
Элемент 5 находится в неупорядоченном множестве.
5 8
Это демонстрирует основные операции, которые можно выполнять с использованием неупорядоченного множества в C++.