java中如何进行 递归二分查找呢?
下文笔者讲述java中递归二分查找的方法及示例分享,如下所示
递归二分查找的原理
将查找进行循环调用
直到满足指定的条件时,终止
例:
递归二分查找的示例
/**
* 递归实现二分查找
* @param arr
* @param left
* @param right
* @param val
* @return
*/
private static int binarySearch(int[] arr, int left, int right, int val) {
if (val < arr[left] || val > arr[right] || left > right) {
return -1;
}
int middle = (left + right)/2;
if(val < arr[middle]){
return binarySearch (arr,0,middle-1,val);
}
if(val > arr[middle]){
return binarySearch (arr,middle+1,right,val);
}else{
return middle;
}
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


