<span style="font-size:24px;">public class Erfen {
public static void main(String[] args) {
int arr[] = {2,5,6,8,10,13,17,20};
find(0, arr.length-1, 8, arr);
}
//二分法查找,要求数组必须为顺序数组
static void find(int leftIndex,int rightIndex,int val,int arr[]){
if(rightIndex>=leftIndex){
int midIndex=(leftIndex+rightIndex)/2;
//要查找的数小于中间的数,则向左查找
if(val<arr[midIndex]){
find(leftIndex,midIndex-1,val,arr);
}else if(val>arr[midIndex]){
find(midIndex+1,rightIndex,val,arr);
}else if(val==arr[midIndex]){
System.out.println("要找的数的下标为:"+midIndex);
}
}
}
}</span>
java算法——二分查找
最新推荐文章于 2022-03-21 22:40:03 发布