试图解决这个问题
声明了一个数组 int [] iArray = {6,12,3,9}
Ran Binary搜索数字9
返回值为-2
有人可以向我解释原因吗?
在运行二进制搜索之前,是否必须对数组进行排序才能获得所需的结果? 我很困惑lol
答案 0 :(得分:2)
你得到-2,因为你要找的9将在列表的第一个和第二个索引之间。这就是它将被插入的位置(在6到9之间它被分类)。
{http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#binarySearch%28int[],%20int%29}
答案 1 :(得分:0)
是的,二进制搜索仅适用于已排序的数据。无法解释为什么-2 tho。