黑马程序员技术交流社区

标题: 折半查找算法 [打印本页]

作者: PDH    时间: 2015-9-16 00:44
标题: 折半查找算法

public class BinarySearch {
/**
  * @param args
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  int[] arr=new int[]{1,2,3,5,6,7,8};
  System.out.println(binarySch(arr,4));
}
public static int binarySch(int[] arr,int key){
  int min=0,max=arr.length-1,mid;
  while(min<=max){
   mid=(min+max)>>1;
   if(key<arr[mid])
    max=mid-1;
   else if(key>arr[mid])
    min=mid+1;
   else
    return mid;
  }
  return min;
}
}


作者: 纳木错的程序猿    时间: 2015-9-16 21:29
支持一个
作者: 洛邑王澈    时间: 2015-9-16 21:33
路过帮顶
作者: 然后呢8908    时间: 2015-9-16 21:50
源码的最后返回的是-(min+1)
作者: PDH    时间: 2015-9-16 22:16
有道理,copy down
作者: 哈哈我赢了    时间: 2015-9-16 22:19
顶一下。。。。。

作者: 双元黑马12    时间: 2015-9-16 22:37
不是二分查找,么
作者: PDH    时间: 2015-9-17 08:42
二分查找就是折半
作者: 一个人的朝圣    时间: 2015-9-17 10:28
不是吧 怎么这样啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2