public class BinarySearch {
// 二分查找算法
public static boolean binarySearch(int[] arr, int target) {
// 定义搜索范围的起始和结束索引
int low = 0;
int high = arr.length - 1;
// 当起始索引小于等于结束索引时,继续查找
while (low <= high) {
// 计算中间索引
int mid = (low + high) / 2;
if (arr[mid] == target) {
// 如果中间元素等于目标元素,则返回 true,表示找到目标元素
return true; // 元素找到
} else if (arr[mid] < target) {
// 如果中间元素小于目标元素,则缩小搜索范围到右半部分
low = mid + 1;
} else {
// 如果中间元素大于目标元素,则缩小搜索范围到左半部分
high = mid - 1;
}
}
// 如果循环结束仍未找到目标元素,则返回 false,表示元素不存在于数组中
return false; // 元素未找到
}
// 主函数测试二分查找算法
public static void main(String[] args) {
// 定义一个有序数组
int[] myArray = {6, 17, 25, 34, 52, 63, 85};
// 要查找的目标元素
int targetElement = 6;
// 调用二分查找算法并获取结果
boolean result = binarySearch(myArray, targetElement);
// 根据结果输出相应的信息
if (result) {
System.out.println("元素 " + targetElement + " 存在于数组中。");
} else {
System.out.println("元素 " + targetElement + " 不存在于数组中。");
}
}
}