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 - left) / 2;

        if (array[mid] == target) {
            return mid; // 找到目标元素,返回索引
        } else if (array[mid] < target) {
            left = mid + 1; // 目标元素在右侧,缩小搜索范围
        } else {
            right = mid - 1; // 目标元素在左侧,缩小搜索范围
        }
    }

    return -1; // 没有找到目标元素,返回 -1
}

public static void main(String[] args) {
    int[] array = {2, 5, 8, 12, 16, 23, 38, 56, 72, 91};
    int target = 23;

    int result = binarySearch(array, target);
    if (result != -1) {
        System.out.println("目标元素 " + target + " 的索引为 " + result);
    } else {
        System.out.println("目标元素 " + target + " 不存在于数组中");
    }
}

}

目录
相关文章
【Java每日一题,左二分查找】Where is the Marble?
【Java每日一题,左二分查找】Where is the Marble?
|
1月前
|
Java
在 Java 中实现二分查找法
【10月更文挑战第9天】
25 1
|
1月前
|
算法 Java
java冒泡排序与二分查找(详解)
java冒泡排序与二分查找(详解)
33 4
|
4月前
|
算法 Java
Java 使用二分查找快速定位元素位置
Java 使用二分查找快速定位元素位置
23 0
|
5月前
|
存储 算法 Java
Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。
【6月更文挑战第21天】Java查找算法概览:二分查找适用于有序数组,通过比较中间元素缩小搜索范围;哈希查找利用哈希函数快速定位,示例中使用HashMap存储键值对,支持多值关联。简单哈希表实现未涵盖冲突解决和删除操作。
58 1
|
5月前
|
Java
二分查找-非递归(java)
二分查找-非递归(java)
|
5月前
|
Java
二分查找-递归(java)
二分查找-递归(java)
|
5月前
|
人工智能 算法 Java
二分查找Java版
二分查找Java版
35 0
|
5月前
|
Java
Java二分查找小例子
Java二分查找小例子
20 0
|
6月前
|
存储 算法 Java
二分查找(Java) 详细讲解 一文足矣
二分查找(Java) 详细讲解 一文足矣