递归实现:
public static int binarySearchRecursive(int[] arr, int target) {
return binarySearchRecursive(arr, target, 0, arr.length - 1);
}
private static int binarySearchRecursive(int[] arr, int target, int low, int high) {
if (low > high) {
return -1; // 没有找到目标元素
}
int mid = (low + high) / 2;
if (arr[mid] == target) {
return mid; // 找到目标元素,返回索引
} else if (target < arr[mid]) {
return binarySearchRecursive(arr, target, low, mid - 1); // 在左半部分继续查找
} else {
return binarySearchRecursive(arr, target, mid + 1, high); // 在右半部分继续查找
}
}
迭代实现:文章来源:https://www.toymoban.com/news/detail-845401.html
public static int binarySearchIterative(int[] arr, int target) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int mid = (low + high) / 2;
if (arr[mid] == target) {
return mid; // 找到目标元素,返回索引
} else if (target < arr[mid]) {
high = mid - 1; // 在左半部分查找
} else {
low = mid + 1; // 在右半部分查找
}
}
return -1; // 没有找到目标元素
}文章来源地址https://www.toymoban.com/news/detail-845401.html
到了这里,关于java实现二分查找算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!