首页 > 其他 > 详细

二分查找

时间:2020-03-31 12:13:19      阅读:64      评论:0      收藏:0      [点我收藏+]

非递归方法

//二分查找法,在有序的数组中,查找target
//如果找到了target,返回相应的索引index
template<typename T>
int binarySearch(T arr[],int n,T target){
    int l=0,r=n-1;
    while (l<=r)
    {
        // int mid = (l+r)/2;
        int mid = l +(r-l)/2; //避免溢出的问题
        if(arr[mid] == target)
            return mid;
        
        //在arr[l...mid-1]之中查找target
        if(target<arr[mid])
            r=mid-1;
        else
            l=mid+1;
    }
    return -1;
    
}

 

二分查找

原文:https://www.cnblogs.com/Erick-L/p/12602837.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!