bsearch<T> method
Performs a binary search on a sorted array (list). Returns the matching element, or null if not found.
Implementation
T? bsearch<T>(T key, List<T> base, int Function(T a, T b) compar) {
int min = 0;
int max = base.length - 1;
while (min <= max) {
int mid = min + ((max - min) >> 1);
int cmp = compar(key, base[mid]);
if (cmp == 0) return base[mid];
if (cmp < 0) {
max = mid - 1;
} else {
min = mid + 1;
}
}
return null;
}