二分查找是一种常见的搜索算法,用于在有序的数据集中查找指定元素。以下是 Java 中的二分查找实现:

public static int binarySearch(int[] arr, int key) {
    int low = 0;
    int high = arr.length - 1;
    while (low <= high) {
        int mid = (low + high) / 2;
        if (arr[mid] == key) {
            return mid;
        } else if (arr[mid] < key) {
            low = mid + 1;
        } else {
            high = mid - 1;
        }
    }
    return -1;
}

这个方法接受一个有序数组和一个目标元素作为输入,并返回目标元素在数组中的索引。它使用两个指针(low 和 high)来表示查找范围的上限和下限,并在每次循环中计算中间索引(mid)。如果找到了目标元素,则返回其索引。如果中间元素小于目标元素,则将下限指针移到 mid+1 的位置。如果中间元素大于目标元素,则将上限指针移到 mid-1 的位置。如果在整个数组中没有找到目标元素,则返回-1。

Java 二分查找算法实现详解

原文地址: https://www.cveoy.top/t/topic/nGIM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录