二分搜索算法

来源:互联网 发布:qq防红源码 编辑:程序博客网 时间:2024/04/30 07:07
从java源代码中的二分搜索算法的实现:

 private static int binarySearch0(long[] a, int fromIndex, int toIndex,
                                                  long key) {
 int low = fromIndex;
 int high = toIndex - 1;

 while (low <= high) {
     int mid = (low + high) >>> 1; //无符号向右移1位,相当于除于2
     long midVal = a[mid];

     if (midVal < key)
        low = mid + 1;
     else if (midVal > key)
       high = mid - 1;
     else
        return mid; // key found
  }
 return -(low + 1);  // key not found.

 }

原创粉丝点击