二分查找法例子
时间:2011-02-24 来源:Fly龙
public class Test
{
public static void main(String[] args)
{
int[] arr = new int[]{1,4,5,6,8,10,33,55,66};
int result = search(arr,40);
System.out.println(result);
}
private static int search(int[] arr, int target){
int start = 0;
int end = arr.length - 1;
int middle = (end - start) / 2;
do{
System.out.println("middle:"+middle+" arr[middle]:"+ arr[middle]);
if(target == arr[middle]){
return middle;
}else{
if(target > arr[middle]){
start = middle + 1;
middle = ((end - start) / 2) + start;
}else{
end = middle - 1;
middle = (end - start) / 2;
}
}
}while(middle != 0);
return -1;
}
}
相关阅读 更多 +
排行榜 更多 +