目标是使用数组实现的HashTable,该数组处理通过指针实现的LinkedList。我有点困惑,因为我插入时为什么会出现seg错误。我有以下几点:C++指向数组指针的指针(使用LinkedList碰撞处理的HashTable)
类:
struct Node {
string key;
int value;
Node* next;
};
class HashTable{
public:
HashTable(int);
//~Hash();
void insert(string, int);
void remove(string);
private:
Node** _table;
int _table_size;
int _hash(string);
};
方法:
主营:
int main(int argc, char* argv[]) {
HashTable* h = new HashTable(11);
h->insert("test",4);
}
从我的理解在关键的电流值应为NULL它不应该?
你可以运行调试器并告诉哪条线路出现故障吗? – woolstar
你肯定会访问一个未初始化的指针,就好像它指向某处有用。而对于我们所知道的,'_hash(key)> = size' – chris
对不起,我应该也包括我的散列函数了。它的模块表大小,以确保它<=大小 –