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.
|