how can I use this binary search algorithm in the dart main function?
int binarySearch<T>(List<T> sortedList, T value,{int Function(T, T)? compare}) {
compare ??= defaultCompare(); // I can't understand this line code
var min = 0;
var max = sortedList.length;
while (min < max) {
var mid = min + ((max - min) >> 1);
var element = sortedList[mid];
var comp = compare(element, value); //I can't understand this line code
if (comp == 0) return mid;
if (comp < 0) {
min = mid + 1;
} else {
max = mid;
}
}
return -1;
}
why use this line of code
{int Function(T, T)? compare}
compare ??= defaultCompare();
var comp = compare(element, value);
Read more here: https://stackoverflow.com/questions/65703145/how-can-i-implement-dart-binary-search-algorithm
Content Attribution
This content was originally published by Rashidul Islam perfect boy at Recent Questions - Stack Overflow, and is syndicated here via their RSS feed. You can read the original post over there.