读书人

java版2分查找

发布时间: 2012-08-31 12:55:03 作者: rapoo

java版二分查找

在网上没找到java版合适的二分查找代码,自己写了个,备忘:

?

  /**     * 二分查找,返回index     */    public  int search(int a[], int key) {       if(a==null || a.length==0){           return -1;       }       int beginIndex=0;       int endIndex=a.length;       while(true){            int halfIndex=(int)Math.ceil(beginIndex+((endIndex-beginIndex)*0.5));            if(a[halfIndex]==key){               return halfIndex;            }            if(endIndex-beginIndex<=1){                return -1;            }            if(a[halfIndex]>key){                endIndex=halfIndex;            }else{                beginIndex=halfIndex;            }       }    }
?

?

java.util.Arrays.binarySearch(arrays, key);

读书人网 >编程

热点推荐