首页 > 其他 > 详细

二分查找

时间:2018-11-14 18:07:15      阅读:154      评论:0      收藏:0      [点我收藏+]
  static int binarySearch(int[] array, int size, int value) {
        int lo = 0;
        int hi = size - 1;

        while (lo <= hi) {
            final int mid = (lo + hi) >>> 1;
            final int midVal = array[mid];

            if (midVal < value) {
                lo = mid + 1;
            } else if (midVal > value) {
                hi = mid - 1;
            } else {
                return mid;  // value found
            }
        }
        return -1;  // value not present
    }

主要是为了熟悉各种基本算法,在需要的时候能尽快找到,这里并没有进行参数校验

>>> 是无符号位移符号,右移一位,高位以0补齐,不考虑符号

二分查找

原文:https://www.cnblogs.com/wenjianes/p/9959184.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!