【发布时间】:2013-09-28 17:59:11
【问题描述】:
public static int binsrch (int[] a, int key) {
int low = 0;
int high = a.length - 1;
while (true) {
if (low > high) return -(low+1);
int mid = (low + high)/2;
if (a[mid] < key) low = mid + 1;
else if (a[mid] > key) high = mid - 1;
else return mid;
}
有人可以帮忙吗?
【问题讨论】:
-
如果你觉得完全没问题,有什么问题?
-
@codeMan 为什么不呢?
-
绝对错误的一点是它没有编译(检查
else if中的条件) -
@codeMan 这是您的误解:循环重用相同的内存位置。在循环外声明
mid是错误的。 -
真的吗?请启发我...我不知道。
标签: java search binary-search