JAVA基础-二分法查找
/*
* 二分法
* 前提:所要查找的数组必须有序
*
*/
public class ArrayTest4 {
public static void main(String[] args) {
int[] arr2 = new int[] {-99,-35,-12,-3,-1,105,63,85,88,90,98};
int dest = -3;
int head = 0;
int end = arr2.length - 1;
boolean isFlag = true;
while(head <= end) {
int middle = (head + end)/2;
if(dest == arr2[middle]) {
System.out.print("找到了指定位置为" + middle);
isFlag = false;
break;
}else if(arr2[middle] > dest) {
end = middle - 1;
}else {
head = middle + 1;
}
}
if(isFlag) {
System.out.print("很遗憾,没有找到!");
}
}
}