二分法查找
要求:查找的数组必须有序
代码如下:
int[] arr2 = new int[] {-98,-34,2,34,54,66,79,105,210,333};
int dest1=-34;
int head=0;//初始的首索引
int end=arr2.length-1;//初始的末索引
boolean isFlag1=true;
while(head<=end) {
int middle=(head+end)/2;
if(dest1==arr2[middle]) {
isFlag1=false;
System.out.println("找到了指定的元素,位置为:" + middle);
break;
}
else if(arr2[middle]>dest1) {
end=middle-1;
}
else {
head=middle+1;
}
}
if(isFlag1) {
System.out.println("未找到指定元素");
}