我正在尝试为 HashTable 实现创建一个类
因为我正在做一个链式哈希表,我的哈希表开始是一个“对象”类型的指针数组。
我遇到的问题是我的构造函数,因为在我的主文件中,我将获取数组大小的值。像这样:
int N;
scanf("%d", &N);
//Create HashTable Object
HashTable *hash = new HashTable(N);
这是我的 .h 文件:
class HashTable {
int arraySize;
typedef struct object {
string data;
object *nextptr;
} object;
object** table;
public:
//Constructor
HashTable(int size);
/// ...and other methods...
对于我的构造函数实现,我不断收到错误:线程 1:EXC_BAD_ACCESS (code=1, address=0x0)
所以我知道我做错了什么。
这是我的构造函数实现。
//Constructor
HashTable :: HashTable(int size){
this->arraySize = size;
this->table = new object[size]; //<-- this is giving me issues!!
for (int i = 0; i < arraySize; i++) {
table[i] = new object;
table[i]->data = "";
table[i]->nextptr = NULL;
}
}
如果有人可以在这里帮助我,那将不胜感激......这种东西的新手。
编辑:作业要求我们使用数组而不是向量。
我想我需要使用一个指针数组,因为数组中的每个索引都将保存一个与相同索引“冲突”的对象的链表。