69
правок
Изменения
Нет описания правки
== Псевдокод ==
<code>
'''functionint''' interpolationSearch(a : '''int[]''', key : '''int''') <font color=green> // a должен быть отсортирован </font>
left = 0 <font color=green> // левая граница поиска (будем считать, что элементы массива нумеруются с нуля) </font>
right = a.length - 1 <font color=green> // правая граница поиска </font>
'''while''' a[left] < key '''and''' key < a[right]
mid = left + (key - a[left]) / (a[right] - a[left]) * (right - left) <font color=green> // индекс элемента, с которым будем проводить сравнение </font>
'''if''' a[mid] < key
left = mid + 1
'''else if''' a[mid] > key
right = mid - 1
'''else'''
'''if''' a[left] == key