编辑代码

template <typename T>
int binSearch(T array[],int len,T target)
{
    int ret=-1;
 
    int begin=0;
    int end=len-1;
 
    while(begin<=end)
    {
        int mid=begin+((end-begin)>>1);
 
        if(array[mid]>target)
        {
            end=mid-1;
        }
        else if(array[mid]<target)
        {
            begin=mid+1;
        }
        else
        {
            if(mid==0||array[mid-1]<target)
            {
                ret=mid;
                break;
            }
            else
            {
                end=mid-1;
            }
        }
    }
 
    return ret;
}