== Код ==
<pre> binSearch(l'''Object[]''' a, r'''Object''' key) <font color="green">// l, r - левая и правая границы</font> '''int''' l = 0 '''int''' r = len(a) + 1 '''while ''' l < r - 1 <font color="green">// запускаем цикл</font> m = (l + r) / 2 <font color="green">// m - середина области поиска</font> '''if ''' a[m] < kkey l = m '''else ''' r = m <font color="green">// сужение границ</prefont> '''return''' r
В случае правостороннего поиска изменится знак сравнения при сужении границ на (<tex>a[m] \leqslant k</tex>).