二分查找

int binarysearch(int arry[], int n, int goal)
{
    int low = -1;
    int high = n;
    while(low + 1 < high)
    {
        int mid = (low + high) >> 1;
        if(arry[mid] < goal)
        {
            low = mid;
        }
        else
        {
            high = mid;
        }
    }
  return (high >= n || arry[high] != goal) ? -1 : high;
}

 

posted on 2017-03-13 21:03  霏霏暮雨  阅读(232)  评论(2编辑  收藏  举报

导航