递归方式完成二分查找


public class BinarySearch2 {  
  
    public static int rank(int key,int[] arr,int start,int end){  
        if(start >end){  
            return -1;  
        }  
        int mid=start+(end-start)/2;  
        if(key<arr[mid]){  
            return rank(key,arr,start,mid-1);  
        }else if(key>arr[mid]){  
            return rank(key,arr,mid+1,end);  
        }else{  
            return mid;  
        }  
    }  
    public static void main(String[] args) {  
        int arr[]={0,1,3,5,6,7,8,8,9};   
        System.out.println("resultPosition="+rank(3,arr,0,8));  
    }  
} 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容