117.info
人生若只如初见

java折半查找法怎么实现

折半查找法(二分查找法)是一种查找有序数组中特定元素的算法。以下是Java实现折半查找法的示例代码:

public class BinarySearch {
    public static int binarySearch(int[] arr, int target) {
        int left = 0;
        int right = arr.length - 1;

        while (left <= right) {
            int mid = left + (right - left) / 2;

            if (arr[mid] == target) {
                return mid;
            }

            if (arr[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }

        return -1;
    }

    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9, 11};
        int target = 7;
        int index = binarySearch(arr, target);

        if (index != -1) {
            System.out.println("元素 " + target + " 在数组中的索引位置为 " + index);
        } else {
            System.out.println("元素 " + target + " 不在数组中");
        }
    }
}

在上述代码中,binarySearch方法接受一个有序数组arr和目标元素target作为参数,返回目标元素在数组中的索引位置,如果目标元素不在数组中,则返回-1。

该方法通过设定左边界left和右边界right来定义查找的范围,然后在循环中计算中间位置mid,并通过与目标元素的比较来缩小查找范围。如果中间元素等于目标元素,就返回中间位置;如果中间元素小于目标元素,说明目标元素在右半部分,将左边界移动到mid+1;如果中间元素大于目标元素,说明目标元素在左半部分,将右边界移动到mid-1。最终,如果找到目标元素,则返回其索引位置,否则返回-1。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fedb4AzsLBQZUAVY.html

推荐文章

  • java实现斐波那契数列代码怎么写

    下面是一种实现斐波那契数列的Java代码:
    public class Fibonacci { public static void main(String[] args) { int n = 10; // 要求斐波那契数列的长度 fo...

  • java怎么实现端口转发

    在Java中,可以使用Socket类来实现端口转发。以下是一个简单的示例代码,演示了如何将本地的一个端口转发到另一个远程主机的端口。
    import java.io.IOExcep...

  • java怎么调用可执行文件

    在Java中调用可执行文件可以使用ProcessBuilder或Runtime类来实现。 使用ProcessBuilder类调用可执行文件: String command = "path/to/executable";
    Proce...

  • java报build path entries为空怎么解决

    当Java报build path entries为空时,可能是因为缺少了一些必要的依赖项或项目配置错误。下面是一些可能的解决方案: 检查项目的构建路径是否正确设置。可以右键单...

  • c语言冒泡排序法代码怎么写

    以下是一个使用C语言编写的冒泡排序法代码示例:
    #include void bubbleSort(int arr[], int n) { for (int i = 0; i < n-1; i++) { for (int j = 0; j < n-...

  • mongodb多表关联查询如何实现

    在MongoDB中,没有传统关系数据库中的“多表关联查询”功能。MongoDB是一个非关系型数据库,不支持传统的表和关联查询。然而,你可以通过多种方式模拟实现类似的...

  • mongodb创建用户的步骤是什么

    MongoDB创建用户的步骤如下: 进入MongoDB的命令行或者Mongo Shell。
    连接到MongoDB数据库:使用use admin命令切换到admin数据库,admin数据库是默认的管理...

  • java中tostring方法怎么使用

    在Java中,toString()方法是一个用于返回对象的字符串表示的方法。它通常被用于调试和日志记录的目的。
    要使用toString()方法,你需要按照以下步骤: 在你的...