二分查找算法递归实现

引自Wikipedia 折半搜索算法

//递归版本    
int binary_search( const int arr[], int low, int high, int key)    
{
    
    int mid = low+(high-low)/2;  // Do not use (low+high)/2 which might encounter overflow issue
    
    // not found
    if(low>high)
        return -1;
        
    if(arr[mid]==key)
        return mid;
    else if(arr[mid]>key)
        return binary_search(arr,low,mid-1,key);
   else 
        return binary_search(arr,mid+1,high,key);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容