私の問題は、開始するたびにローをゼロに設定していることだと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;
}