以下是一个使用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,则说明我们已经找到了目标元素。否则,说明目标元素未在数组中找到。

Java 二分查找算法实现及示例

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

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