递归二进制搜索数组超出索引

时间:2018-08-11 23:47:41

标签: java arrays sorting recursion

#!/user/bin/env python

with open('log.txt', 'r') as file:
    line = file.read()
#### <-- the line above has 4 spaces worth of indentation.  
with open('/etc/snort/rules/test.rules' , 'w') as f2:
    f2.write(line)

嘿,谢谢您的阅读。我有这种递归二进制搜索方法的问题。当我尝试搜索不在数组中的内容时,java给我“线程“ main”中的异常java.lang.ArrayIndexOutOfBoundsException:7”。

由于p> r条件,我认为它应该返回-1。我试图将条件更改为p> = r,但对于数组中实际存在的内容,它将返回-1。我究竟做错了什么?非常感谢

1 个答案:

答案 0 :(得分:1)

您的搜索应从0arr.length-1

System.out.println(recursive_binary_search(arr,0,arr.length-1,989));