Как написать алгоритм для двоичного поиска по массиву с числами на си?
Хочу сам, неподглядывая, написать алгоритм, но не могу понять, как получить индексы массива. Т.е. вот у нас есть массив, его размер 500 ячеек, мы берем 250ую ячейку, выясняем, что искомое значение находится правее. Соответственно область поиска теперь от 250 до 500, а размер второй половины - 250. Можно скопирорвать вторую половину массива в другой массив и тогда индексы будут начинаться с нуля, но тогда какой смысл в бинарном поиске?
Натолкните меня на мысль пожалуйста. Как мне получить верные индексы массива?
Определи переменные для левой и правой границы поиска. Изначально поставь их на концы массива, а потом просто переставляй их. Правую влево - если справа ничего нет. Левую вправо - если слева ничего нет. При новом поиске у тебя будет искаться значение в левой части массива или в правой части массива.