黑马程序员技术交流社区
标题:
这个代码哪里错了。。
[打印本页]
作者:
yekong262
时间:
2014-1-21 22:19
标题:
这个代码哪里错了。。
本帖最后由 yekong262 于 2014-1-22 09:54 编辑
public static int halfSearch_2(int[] arr,int key)
{
int min=0,max=arr.length,mid=(max+min)/2;
while (min<=max)
{
mid=(max+min)/2;
if (key>arr[mid])
min=mid+1;
else if (key <arr[mid])
max=mid-1;
else if(key==arr[mid])
return mid;
}
return -1;
}
复制代码
作者:
qisikudingcha
时间:
2014-1-21 22:34
我运行这没错啊。。。能不能说得详细点是什么错
作者:
↑↓ME→←
时间:
2014-1-21 22:35
二分法查找的一个重要前提是这个数组已经排好序,你这个看着没什么,返回key的下标!
作者:
廉伟杰
时间:
2014-1-21 22:35
max=arr.length改成max=arr.length-1试试,应该对的
作者:
dongdong5982
时间:
2014-1-21 22:46
同意二楼说的,想要用二分法前提是已经排好序了,返回的是想要查找的key的下标,数据下标是从0开始的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2