美文网首页
二分查找

二分查找

作者: jnxc1888 | 来源:发表于2017-02-24 16:33 被阅读5次
    1. 用于有序数组
    2. low,high,middle = (low + hight) / 2
    3. 如果arr(middle) > value,则high = middle - 1,否则 high = middle + 1

    重复以上过程,直到arr(middle) = value

    代码实现:

     public static int binary(int[] array, int value)
        {
            int low = 0;
            int high = array.length - 1;
            while(low <= high)
            {
                int middle = (low + high) / 2;
                if(value == array[middle])
                {
                    return middle;
                }
                if(value > array[middle])
                {
                    low = middle + 1;
                }
                if(value < array[middle])
                {
                    high = middle - 1;
                }
            }
            return -1;
        }
    

    相关文章

      网友评论

          本文标题:二分查找

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