Итак, я делаю свою первую попытку создать хеш-таблицу и совершенно не знаю, что делать для моих конструкторов?
class HashTable {
typedef vector <list<HashNode> > Table;
Table *table; // size of table is stored in the Table data structure
size_t num; // number of entries in the HashTable;
}
это класс, для которого я пытаюсь создать конструкторы, и мне дано.
public:
HashTable(); // constructor, initializes table of size 1;
HashTable(size_t num); // constructor, requires size of table as arg
Я не очень понимаю, что я должен делать. Итак, сначала я должен инициализировать размер table
до 1. Что, поскольку я использую вектор, я предполагаю, что должен использовать функцию reserve
? Итак, я пошел дальше и получил это:
this->table->resize(num);
, который скомпилирован нормально, и у меня не было проблем, и я думаю, что это правильно. Во втором конструкторе я понял проблему, в основном из-за использования size_t
. Насколько я понимаю, где я могу установить размер таблицы size_t
? Но что должно быть size_t
? Я думаю, что это тип данных, но зачем мне устанавливать размер Hashtable
для типа данных? Если я не пропущу что-то очевидное здесь, я не вижу.