import java.util.Arrays;
public class Ef {
public static void main(String[] args) {
int[] arr={1,6,5,4,9,8};//定义一个数组
int a=4;//定义一个要查找的数
Arrays.sort(arr);//将arr数组排序
int start=0;//定义开始位置为0标
int end=arr.length-1;//定义结束位置为arr.length-1
int zj;//定义一个变量代表中间位置
while(start<=end){
zj=(start+end)/2;//算出中间位置的下标
if(arr[zj]>a){//当查找的数小于中间位置时,代表查找的数在中间位置左边
end=zj-1;//把结束位置变为中间位置-1
}else if(arr[zj]<a){//当查找的数大于中间位置时,代表查找的数在中间位置右边
start=zj+1;//把开始位置变为中间位置+1
}else{
System.out.println("找到了");//当查找的数等于中间位置时,代表找到了
break;
}
}
if(start>end){
System.out.println("没找到");//当开始位置大于结束位置时,说明没有找到
}
}
}
```
二分查找
最新推荐文章于 2023-05-28 13:59:52 发布