二分查找

来源:互联网 发布:xampp修改apache端口 编辑:程序博客网 时间:2024/04/29 20:29

手写二分查找:

#include <iostream>

using namespace std;

int binarySearch(int *arr,int key,int cnt)
{
    int left=0,right=cnt-1,mid;
    if(arr)
      {
        while(left<=right)
        {
            mid=(left+right)/2;//mid=left+(right-left)>>1 防止溢出,而且移位更高效。
            if(arr[mid]>key)
                right=mid-1;
            else if(arr[mid]<key)
                left=mid+1;
            else
                return mid;
        }
    }

   return -1;
}

0 0
原创粉丝点击