二分法查找
【小城贝尔】
两头索引先定义,算出中间来对比。
如若大于要查找,中间索引将一少。
赋给后头的定义,中间求值在寻意。
如若大于要查找,中间索引加一好。
赋值前头的定义,仍求中间的真谛。
循环往复寻真意,只待匹配返求义。
注意:二分法(binary)查找需要先排序
public class Binary {
public static void main(String[] args) {
int [] arr = {1,2,3,4,5};
int i = Binary.binarySerch(arr,5);
System.out.println(i);
}
public static int binarySerch(int[] arr , int value){
Arrays.sort(arr);
int start = 0;
int end = arr.length -1;
while (start <= end){
int middle = (start + end)/2;
if(arr[middle] == value){
return middle;
}
if(arr[middle] > value){
end = middle - 1;
}
if(arr[middle] < value){
start = middle +1;
}
}
return -1;
}
}