ArrayBinarySearch

Ищет указанное значение в отсортированном по возрастанию одномерном массиве, используя интерфейс IComparable<T> для сравнения элементов.

template<typename T>
int ArrayBinarySearch(
   T&             array[],         // массив для поиска
   const int      start_index,     // начальный индекс
   const int      count,           // диапазон поиска
   T              value,           // искомое значение
   IComparer<T>*  comparer         // интерфейс для сравнения
   );

Параметры

&array[]

[out]  Массив для поиска.

value

[in]  Искомое значение.

*comparer

[in]  Интерфейс для сравнения элементов.

start_index

[in]  Начальный индекс, с которого начинается поиск.

count

[in]  Длина диапазона поиска.

Возвращаемое значение

Возвращает индекс найденного элемента. Если искомое значение не найдено, то возвращает индекс меньшего элемента, которое ближе всех по значению.