- 用于有序數(shù)組
- low,high螺戳,middle = (low + hight) / 2
- 如果arr(middle) > value搁宾,則high = middle - 1,否則 high = middle + 1
重復(fù)以上過程倔幼,直到arr(middle) = value
代碼實(shí)現(xiàn):
public static int binary(int[] array, int value)
{
int low = 0;
int high = array.length - 1;
while(low <= high)
{
int middle = (low + high) / 2;
if(value == array[middle])
{
return middle;
}
if(value > array[middle])
{
low = middle + 1;
}
if(value < array[middle])
{
high = middle - 1;
}
}
return -1;
}