您的位置:首页 > 编程语言 > Java开发

Java的折半查找程序

2006-11-22 16:16 274 查看
  返回值为负则未找到。
    public static int binarySearch(long[] a, long key)
   {
       int low = 0;
       int high = a.length-1;
 
       while (low <= high)
      {
          /** 左移一位等于除以2*/
           int mid = (low + high) >> 1;

           long midVal = a[mid];
 
           if (midVal < key)
              low = mid + 1;
           else if (midVal > key)
              high = mid - 1;
           else
              return mid;
       }
       return -(low + 1); 
    }
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java