美文网首页
java 二分查找法

java 二分查找法

作者: 发光驴子 | 来源:发表于2018-01-05 00:00 被阅读0次
    //java二分查找法,返回索引,数字必须是有序排列
    public static int binarySearch(int[] arr,int key){
        //三个指针变量
        int min=0;
        int max=arr.length-1;
        int mid=0;//中间指针先初始化为0
        //循环折半
        while (min<=max) {
            //公式,计算中间索引
            mid=(min+max)/2;
            if(key>arr[mid]){
                min=mid+1;
            }else if(key<arr[mid]){
                max=mid-1;
            }else{
                //找到元素,返回索引
                return mid;
            }
        }
        
        return -1;
    }
    

    二分查找法,大白话,就是把一个数组 从中间分成前半部和后半部,如果要查找的key大于中间的值,那么直接查找后半部,以此类推,如果要查找的key小于中间的值,那么直接查找前半部,以此类推,直到找到为止,找不到返回-1,找到返回索引下标,需要注意的是,二分查找法,必须是一个有序的数组,否则会返回-1,
    比较过程是根据索引下标进行的,数组长度不可变。


    图片.png

    相关文章

      网友评论

          本文标题:java 二分查找法

          本文链接:https://www.haomeiwen.com/subject/cdwquxtx.html