【发布时间】:2012-12-28 12:44:52
【问题描述】:
根据我对 BinarySearch 的理解,如果在数组或集合中找不到元素,它只会返回一个插入点。
所以这段代码让我有点困惑:
import java.util.*;
public class LookinGlass {
public static void main(String args[]){
String[] asa = {"x", "c", "b", "d"};
int x = Arrays.binarySearch(asa, "b");
System.out.println("Index is at " + x);
Arrays.sort(asa);
int y = Arrays.binarySearch(asa, "b");
System.out.println(x + " " + y);
}
}
当我打印出x时,为什么它说索引在-1,而数组中明显存在“b”并且可以找到?
谢谢
【问题讨论】:
-
首先你应该知道二进制搜索是如何工作的,然后开始实施。 ://
-
打印的值是否正确?
标签: arrays