Хэш-множество, вдохновлённое C# HashSet<T>. Быстрая проверка на наличие элементов, добавление и преобразование в список. Поддерживает уникальные элементы с хэш-таблицей под капотом. 🚀
Insert(const ValueType& value)— добавляет элемент в множество.Contains(ValueType& value)— проверяет, есть ли элемент в множестве.ToList()— возвращает список всех элементов.Clear()— очищает множество.Size()— возвращает количество элементов.
💡 Зависимости: Всё, что нужно, импортируется через
#include "cs/types.h". Никаких лишних#include!
<<— вывод множества в поток как списка (черезToList()).
#include "cs/types.h"
int main() {
HashSet<int> set = {1, 2, 3};
set.Insert(4); // [1, 2, 3, 4]
std::cout<< set.Contains(2) << '\n'; // 1 (true)
set.Clear(); // []
}- Основано на
Dictionary<ValueType, bool>, где значения — простоtrue. - Гарантирует уникальность элементов (дубликаты автоматически игнорируются).
- Быстрые операции
InsertиContainsблагодаря хэшированию. - Поддержка любых типов, если они поддерживают хэширование и сравнение.
- Красивый вывод через
<<, как списки в Python.