**#include <iostream>
using namespace std;
template <typename T>
int binary_search(T *arr,int n,T target)
{
int l=0;
int r=n-1;//在[l....r 的范围里面寻找target]
while(l<=r)//我们是在一个闭区间去寻找target 当L=r区间是一个元素,我们还是应该去欧安段的,所有要取等号
{
int mid= (l+r)/2;//
cout<<mid<<endl;
if(arr[mid]==target)
return mid;
else
if(arr[mid]<target)
l=mid+1;// 因为已经确定了mid 这个并不包括我们的target
else
r=mid-1;
}
return -1;
}
int main()
{
int arr[]={1,2,3,4,5,6,7,8,11,19,55};
cout<<binary_search(arr,11,20)<<endl;
return 1;
}
**