二分查找

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;
}
原文地址:https://www.cnblogs.com/foreverstars/p/6545035.html