42 lines
1.0 KiB
Markdown
42 lines
1.0 KiB
Markdown
# ArrayBinarySearch
|
||
|
||
Searches for the specified value in an ascending-sorted one-dimensional array using the IComparable<T> interface to compare elements.
|
||
|
||
```
|
||
template<typename T>
|
||
int ArrayBinarySearch(
|
||
T& array[], // an array for search
|
||
const int start_index, // the starting index
|
||
const int count, // the search range
|
||
T value, // the search value
|
||
IComparer<T>* comparer // interface to compare
|
||
);
|
||
|
||
```
|
||
|
||
Parameters
|
||
|
||
&array[]
|
||
|
||
[out] The array to search in.
|
||
|
||
value
|
||
|
||
[in] The searched value.
|
||
|
||
*comparer
|
||
|
||
[in] An interface for comparing elements.
|
||
|
||
start_index
|
||
|
||
[in] The starting index from which the search begins.
|
||
|
||
count
|
||
|
||
[in] The length of the search range.
|
||
|
||
Return Value
|
||
|
||
Returns the index of the found element. If the search value is not found, it returns the index of the smallest element, which is closest in value.
|