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