微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

哈希表,查找功能

如何解决哈希表,查找功能

我有一个哈希表数据结构,所有函数都可以正常工作,但是lookUp函数不能正常工作(它返回元素所在的位置)

public int lookUp(T key){
    int x =0;
    boolean found = false;
    while(Key[place]!=null){
        if(Key[place] == key){
            found = true;
            break;
        }
        place =(place +probingLinear(x))%v;
        x++;
    }
    if(found)
        return place;
    else
        return -1;
}

大写字母(K)的键是对象类型的数组,小写字母(k)的键是元素-它的类型是通用的-我搜索其位置,当我添加数字(如1)并搜索时,它返回它的正确位置将在我们的示例1中,但是当我添加一个大的数字(如3525)时,它返回-1,这意味着它找不到它。

注意:add函数在Integers中的工作方式为:number%数组的大小(在我们的示例中为3525:其位置9)。 谁能帮我为什么会这样?

一个注意事项:3525%12 = 9,这意味着它在数组的9位置,当我返回Key [9]时,它给了我3525那意味着它确实存在,所以为什么“查找”不起作用? ?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。