二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。
//第一代版本
int binarySearch(T arr[],int n ,T target){
int l=0,r=n-1; //搜索范围为[l,r]
while(l<=r) //当l=r时范围仍有效[l,r]
{
int mid=(l+r)/2;
if(arr[mid]==target)
{
return mid;
}
if(arr[mid]>target)
{
r=mid-1; //搜索范围为[l,mid-1]
}
else
l=mid+1 ; //搜索范围为[mid+1,r]
}
return -1;
}