用java实现如下:
public class SearchTest{
public static int LookFor(int[] array, int value) {
int higher,middle,lower = 0;//头初始为0
higher = array.length - 1;//尾长度
while(lower < higher){
middle = (lower + higher)/2;
if(value == array[middle]){
return middle;//查找到,返回数据位置。
}
lower = middle + 1;//大于中间值,去后半段查找,此时lower值发生变化
}
else if(value < array[middle]){
higher = middle - 1;//小于中间值,去前半段查找,此时higher的值发生变化
}
return -1;
}
}
public static void main(String[] args){
int[] a = {0,1,2,3,4,5,6,7,8,9};
int temp = LookFor(a, 8);
System.out.println(temp);
}
}