public class test003 {
public static void main(String[] args) {
//有序数组;----随机产生[0-40)的一个整数,看它是否在这个数组中
int[] nums={1,5,9,15,23,36};//初始化一个数组
int target=9;//假设这个值是10。target的意思是目标
boolean flag=false;//定义一个布尔变量,初始化为false
int left=0;//数组左边界下标
int right=nums.length-1;//数组右边界下标
while(left<=right){
int mid=left+(right-left)/2;//这个是数组中间数的下标
if(target==nums[mid]){//如果要查找的数等于数组中间的数则为真,跳出
flag=true;
break;
}else if(target==nums[left]){//如果要查找的数等于数组左边的数
flag=true;
break;
}else if(target==nums[right]){//如果要查找的数等于数组右边的数
break;
}else if(target<nums[mid]){
right=mid-1;
left++;//去left+1,mid-1范围内继续下一次查找
}else{
left=mid+1;
right--;//去mid+1,right-1范围内继续下一次查找
}
}if(flag){
System.out.println("存在");
}else{
System.out.println("不存在");
}
}
}
有序数组:----随机产生[0-40)的一个整数,看它是否在这个数组中
最新推荐文章于 2025-12-19 15:39:34 发布
该代码示例展示了一个Java程序,使用二分搜索法在一个有序数组中查找特定目标值。程序初始化了一个包含特定整数的数组,并定义了目标值,然后通过迭代调整搜索范围,最终确定目标值是否存在。
7763

被折叠的 条评论
为什么被折叠?



