首页 > 解决方案 > 冲突时的哈希表链接。如何创建指向链表对象的哈希表指针数组?

问题描述

这听起来很简单,但我无法找出正确的代码来实现它。

我目前有一个运行良好且经过全面测试的双向链表类。我不打算更改与此类相关的任何内容。

没有列出我的整个程序,在我的 Hashtable 类头文件中,我有......

#define HASHTABLESIZE 15

class Hashtable {

        public:
                typical public methods listed here
        private:
                Data *hashtable[HASHTABLESIZE];
}

和我的cpp文件...

Hashtable::Hashtable() {

        LinkedList list[HASHTABLESIZE];

        for (int i = 0; i < HASHTABLESIZE; i++) {
                this->hashtable[i] = list[i];
        }
}

这就是我被困的地方......

this->hashtable[i] = list[i];

我想要一个指向链表对象的指针数组。任何帮助表示赞赏。

标签: c++pointerslinked-listhashtablechaining

解决方案


我想也许你可以在 STL 中使用向量。

std::vector<LinkedList> hashtable;
hashtable.reserve(HASHTABLESIZE);
for(int i = 0; i < HASHTABLESIZE; ++i)
        hashtable.push_back(list[i]);

推荐阅读