#pragma once #include "HashTable.hpp" namespace Lenyiin { template > class Unordered_Set { public: struct SetKOfT { const K &operator()(const K &key) { return key; } }; typedef typename Open_HashTable::iterator iterator; iterator begin() { return _hashTable.begin(); } iterator end() { return _hashTable.end(); } // 构造函数: 指定哈希表的初始大小 Unordered_Set(size_t bucket_count = 10) : _hashTable(bucket_count) { } // 析构 ~Unordered_Set() { } // 插入元素 std::pair Insert(const K &key) { return _hashTable.Insert(key); } // 查找元素 bool Find(const K &key) { return _hashTable.Find(key); } // 删除元素 bool Erase(const K &key) { return _hashTable.Erase(key); } // 打印 void Print() const { _hashTable.Print(); } private: // 使用哈希表作为底层数据结构 Open_HashTable _hashTable; }; }