我 99% 确定我的问题是每次开始时我都将其设置为零。但我不确定如何保持低指数始终代表低指数,而不管我的递归深度如何。如果它准确地告诉我低指数的指数,我认为我不会有问题。
到目前为止,这是我的代码:
int recBSearch(vector<int> v, int size, int item)
{
    int index = size / 2;
    int curr = v[index];
    int low = 0;
    int high = size -1;
    if (v[index] == item)
        return index;
    else if (v[index] > item)
    {
        high = index;
        index = (high+low)/2;
        size = high - low;
        return recBSearch(v, size, item);
    }
    else if (v[index] < item)
    {
        low = index;
        index = (high+low)/2;
        size = high - low;
        return recBSearch(v, size, item);
    }
    return -1;
}