//二分法查找
public class TestBinarySearch {
public static void main(String[] args) {
//目标数组
int[] arr=new int[] {1,2,3,4,5,6,7,8,9};
//目标元素
int target=1;
//记录开始位置
int begin=0;
//记录结束位置
int end=arr.length-1;
//目标元素位置
int index=-1;
//循环查找
while(begin<=end) {
//记录中间位置
int mid=(begin+end)/2;
//判断中间元素是不是要查找的元素
if(arr[mid]==target) {
index=mid;
break;
}else {
//中间元素比目标元素大
if(arr[mid]>target) {
//结束位置调整到中间位置的前一个元素
end=mid-1;
}else {//中间元素比目标元素小
//开始位置调整到中间位置的后一个元素
begin=mid+1;
}
}
}
System.out.println("index:"+index);
}
}
注意:目标数组必须有序排列。