Я новичок в программировании, и теперь я собираюсь пройти бинарный поиск на C ++. Я запустил бинарный поиск, когда впервые узнал его, и он работал нормально, но с тех пор, как я пытался воспроизвести его самостоятельно, он продолжает отображать «Извините, мы не нашли ваш номер», и когда я отображаю возвращаемое значение, он всегда возвращает -1 (никогда не менялось в l oop). Я оставлю код ниже:
int main(){
int
numbers[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10},
searchValue = 8,
returnValue = -1,
low = 0,
high = ARR_SIZE,
mid = (low + high) / 2;
while(low < high)
{
if(numbers[mid] == searchValue)
{
returnValue = mid;
break;
}
else if(numbers[mid] < searchValue)
{
low = mid + 1;
}
else
{
high = mid - 1;
}
mid = (low + high) / 2;
}
if(returnValue == -1)
{
cout << "Sorry we did not find the number" << endl;
}
else
{
cout << "We found your number! It is located at index " << returnValue << endl;
}
return 0;
}