本帖最后由 武超 于 2011-11-30 13:36 编辑
- class ArrayTest5 //数组,折半查找
- {
- public static void main(String [] args)
- {
- int [] arr={1,5,8,13,25,34,46,52};
- int index=halfSearch(arr,8);
- System.out.print(index);
- }public static int halfSearch(int [] arr,int key)
- {
- int mid;
- int min=0;
- int max=arr.length-1;
- while(min<=max)
- {
- mid=(min+max)>>1;
- if(key>arr[mid])
- min=mid+1;
- else if(key<arr[mid])
- max=mid-1;
- return mid;
- }
- return -1;
- }
- }
复制代码 这是在数组中用折半查找的方法查找一个数字,程序代码我检查了好多遍也没找到错误,可是无论是查找什么数,打印出来的都是3.不知道到底是什么错误。 |
|