基于数组的MaxHeap Java中的搜索功能

问题描述

我写了这段代码,但是它在最后一个索引处提供了arrayoutofboundexception,但是它适用于其他索引。请帮忙:)总的来说,即时通讯会传递i = 0的值;

public int recursiveSearch(int key,int i)
    {
       int left = ((2*i) + 1);
       int right = ((2*i) + 2);
       if(isEmpty())
       {
           return -1;
       }  
       if(a[i] == key)
       {
           return i; 
       }
       else if(key < a[i])
       {
           int found = recursiveSearch(key,left);
           if(found == -1)
           {
               return recursiveSearch(key,right);
           }
           return found;
       }
       else
       {
           return -1;
       }
       
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)