因此,我第一次尝试创建哈希表,并且完全不知道该如何处理构造函数?
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
大小设置为数据类型呢?除非我在这里找不到明显的东西,否则我看不到。