Searching in Dart
//BinarySearch using mixin class
mixin BinarySearch{
int binarySearch(list, element) {
int start = 0;
int end = list.length - 1;
// int i = 0;
while (start <= end) {
int mid = ((start + end) / 2).floor();
if (list[mid] == element) {
return mid;
}
if (list[mid] < element) {
start = mid + 1;
} else {
end = mid - 1;
}
}
return -1;
}
}
//This is Binary Search Method
binarySearch(List<int> arr, int userValue, int min, int max) {
if (max >= min) {
print('min $min');
print('max $max');
int mid = ((max + min) / 2).floor();
if (userValue == arr[mid]) {
print('your item is at index: ${mid}');
} else if (userValue > arr[mid]) {
binarySearch(arr, userValue, mid + 1, max);
} else {
binarySearch(arr, userValue, min, mid - 1);
}
}
return null;
}
Comments
Post a Comment