帮我用Java写一段二分查找的代码
public class BinarySearch {
public static int binarySearch(int[] arr, int target){
int left = 0;
int right = arr.length - 1;
while(left <= right){
int mid = (left + right) / 2; //取中间值
if(arr[mid] == target){ //如果中间值等于目标值,则返回此下标位置
return mid;
}else if(arr[mid] < target){ //如果中间值小于目标值,则将左边界调整为中间位置+1 以向右查找
left = mid + 1;
}else{ //如果中间值大于目标值,则将右边界调整为中间位置-1 以向左查找
right = mid - 1;
}
}
return -1;//未找到返回-1
}
public static void main(String[] args) {
int[] array = {3, 5, 7, 8, 9};//有序数组
System.out.println("8的位置是:" + binarySearch(array, 8));//测试一个元素是否存在
} }
AI智能问答网免责声明:
以上内容除特别注明外均来源于网友提问、ChatGPT回答,权益归原著者所有,本站仅作效果演示和欣赏之用;
若以上展示有冒犯或侵害到您,敬请联系我们进行删除处理,谢谢!