我有一个文本文件,我使用insert方法将所有单词插入到哈希表中,然后我确实找到了一种方法,该方法假定返回出现的单词的出现次数,但不返回任何内容,这可能是错误的。因此,如果条件条件中的单词输入了它,但是我不确定如何正确返回值变量
您已经完成了大部分工作,只需要进行一些小的修复和小的更改即可。
首先解决。在HashNode
class HashNode
{
public:
string key;
int value;// constuctor accepts and assigns an int, not a string
public:
HashNode(string key, int value)
{
this->key = key;
this->value = value;
}
friend class HashTable; // not much point to friendship when the class
// is entirely public
};
以后,这种更改变得非常重要,因为现在insert
我们可以
void insert(string key)
{
int value=1; //start with a count of 1.
int index = hashCode(key) % this->capacity;
for (list<HashNode>::iterator it = buckets[index].begin();
it != buckets[index].end();
++it)
if (it->key == key)
{
it->value++; // count another instance
return;
}
// rest unchanged
现在,我们可以为哈希表中的每个单词显示一个计数。我们要做的就是添加一个或两个函数,以便我们可以显示它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句