对二分查找的重写

import java.util.Arrays;

public class BinarySearch {
    public static void main(String[] args) {
        int num[] = {1,2,42,56,21,356};
        System.out.println(binarySearch(num, 42));

    }

    /**
     * 二分查找方法
     * @param arr 需要查询的数组
     * @param data 需要被查询的数据
     */
    public static int binarySearch(int arr[],int data){
        //1.对arr数组进行排序
        Arrays.sort(arr);
        //2.对数组进行二分查找
        //数组的索引起始位置
        int left = 0;
        //数组的索引结束位置
        int right = arr.length - 1;
        //进行判断是否符合结束位置大于等于起始位置
        while (left  arr[index]){
                left = index + 1;//将左边结束索引设置为 (index + 1)
            }else {
                return index;//当相等时则输出被查询到的索引值
            }
        }
        return -1;//都不满足的情况下输出 -1
    }
}

运行结果如下所示:

对二分查找的重写

Original: https://blog.csdn.net/weixin_46065214/article/details/127823569
Author: cd:Lemon
Title: 对二分查找的重写

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/660280/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球