Java 二分查找算法实现及示例
以下是一个使用Java编写的二分查找算法示例:
public class BinarySearch {
// 二分查找算法
public static int binarySearch(int[] array, int target) {
int left = 0;
int right = array.length - 1;
while (left <= right) {
int mid = (left + right) / 2;
if (array[mid] == target) {
return mid;
} else if (array[mid] < target) {
left = mid + 1;
} else {
right = mid - 1;
}
}
return -1;
}
// 示例
public static void main(String[] args) {
int[] array = {1, 3, 5, 7, 9};
int target = 3;
int index = binarySearch(array, target);
if (index != -1) {
System.out.println('找到目标元素,位置为:' + index);
} else {
System.out.println('未找到目标元素');
}
}
}
输出结果为:
找到目标元素,位置为:1
在这个示例中,我们定义了一个名为binarySearch的静态方法,它接受两个参数:一个整数数组和一个目标整数。该方法使用while循环,在每次迭代中将数组分为两半,并比较中间元素与目标元素的大小关系。如果中间元素等于目标元素,则返回该元素的索引。如果中间元素小于目标元素,则在数组的右半部分执行二分查找。如果中间元素大于目标元素,则在数组的左半部分执行二分查找。如果目标元素未在数组中找到,则返回-1。
在main方法中,我们定义了一个整数数组和一个目标整数,并将它们传递给binarySearch方法。如果方法返回的索引不为-1,则说明我们已经找到了目标元素。否则,说明目标元素未在数组中找到。
原文地址: https://www.cveoy.top/t/topic/neZ5 著作权归作者所有。请勿转载和采集!