本文共 654 字,大约阅读时间需要 2 分钟。
二分查找前提是数据有序
int Binary_Search(int arr[],int key) { int low=0; int high =arr.length-1; int middle; while(low<=high)//这里必须写等号,因为在相等时恰好此时等于key,下面有例子说明 { middle = (low+high)/2;//不过这里还有一种写法更好可以防止越界问题,写成low+(high-low)/2 if(arr[middle]==key) return middle; else if(arr[middle]>key) { high = middle-1; } else low = middle+1; } return -1; }
@Test public void Test() { int arr[] = { 1,3,6,8,10,23}; System.out.println(Binary_Search(arr,8));//当while写low<=high输出3 }
转载地址:http://dplzi.baihongyu.com/