二分法的主要来源:
当我们需要从一个数据里面找一个数的时候,但是我们不知道这个数在那里的时候,我们可以使用二分法来查找,当然这个数据必然是有序的,如果是无序的那么必然要全数组来查找了。
下面的假设的一个数组图,(我们假设要找5);
那么我们的程序代码如何理解,首先我们要拿到数组的首末下标位置;
public static void main( String args[]){
int array[12];
private int fist =0;
private int last= array.length-1;
public class test {
while(fist<array.length-1){
int middle = (fist+array.length-1)/2;
//这里判断我要查找的数与目标数是否匹配
if(vlaue==array[middle])
return middle;
//下面表示如果不匹配,则从这个开始继续首末下标开始寻找
else if (vlaue>array[middle])
return fist=middle+1;
else if(vlaue<array[middle])
return last= middle -1;
}
}
return -1;
}