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]  搜索范围长度。

返回值

返回找到元素的索引。如果搜索值未找到,它将返回最接近值的最小元素的索引。