哈希表,查找功能

问题描述

我有一个哈希表数据结构,所有函数都可以正常工作,但是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 (将#修改为@)