递归---二分法查询

 

二分法查找只适合有序数组或有序链表,示例代码为升序数组

public class ordArray{
  private long[] arr;
  public long recFind(long key,int lower,int upper){
        int curin;
        curin = (lower - upper)/2;
        if(arr[curin] == key){
            return curin;
        }else if(lower > upper){
            return  arr.length;
        }else {
            if(arr[curin] > key){
                return recFind(key,lower,curin -1);
            }else {
                return recFind(key,curin + 1,upper);
            }
        }
    }
          
}

 

posted @ 2019-02-14 09:26  金陵_觋  阅读(123)  评论(0)    收藏  举报