使用链接列表搜索哈希表的程序出现问题

我在使函数在哈希表中搜索给定键值时遇到问题。参见下面的代码。

      //hashtable constructor
      Hashing(int tableSize) {
        TABLE_SIZE = tableSize;
        hashTable = new LinkedList[TABLE_SIZE];
      }

      //search algorithm
      bool search(int key) { 
        int hashVal = getHashValue(key); //returns (37 * val + 61) % TABLE_SIZE
        LinkedList hashList = hashTable[hashVal];
        for(int i=0; i<hashList.getSize(); i++){
            if(hashList->value == key)
                return true;
            else
                hashList = hashList->next;
        }
        return false;
    }

问题发生在if语句和else之后的代码中,我得到以下错误:

  

错误:“->”的基本操作数具有非指针类型“ LinkedList”

现在我知道我无法用'。'代替'->'。就像我对其他任何非指针一样,因为代码无法识别这对类对象意味着什么。 我想做的是,如果LinkedList(hashList)的当前值等于key(​​正在搜索的值),则返回true。否则,移至LinkedList的下一个值,并让for循环重新开始。我应该如何重写此代码才能使其正常工作?

感谢您的帮助!

hmf525 回答:使用链接列表搜索哈希表的程序出现问题

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156249.html

大家都在问