算法——二分查找法实现及优化

二分查找也称折半查找(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;
 }

猜你喜欢

转载自www.cnblogs.com/aishanyishi/p/9489407.html