binarySearch<T> function
int
binarySearch<
T>( - List<T> sortedList,
- T value, {
- int compare(
- T,
- T
)?,
})
Implementation
int binarySearch<T>(
List<T> sortedList,
T value, {
int Function(T, T)? compare,
}) {
compare ??= _defaultCompare<T>();
int min = 0;
int max = sortedList.length;
while (min < max) {
int mid = min + ((max - min) >> 1);
T element = sortedList[mid];
int comp = compare(element, value);
if (comp == 0) {
return mid;
} else if (comp < 0) {
min = mid + 1;
} else {
max = mid;
}
}
return -(min + 1);
}