试图弄清楚

声明一个数组
int [] iArray = {6,12,3,9}

冉二进制搜索数字9

返回值是-2

有人可以向我解释原因吗?

在运行二进制搜索之前,是否必须对数组进行排序才能获得所需的结果?
我很困惑大声笑

最佳答案

您会得到-2,因为您要查找的9会位于列表的第一个索引和第二个索引之间。那就是它的插入位置(如果已排序,则在6到9之间)。

{http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#binarySearch%28int[],%20int%29}

关于java - 关于二进制搜索的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23483493/

10-11 13:28