@Test
void test9() {
int[] array = {6, 8, 22, 26, 36, 44, 55, 68, 79, 88, 89, 91, 99};
int search = search(array, 91);
System.out.println(search);
int recursive = recursive(array, 0, array.length - 1, 91);
System.out.println(recursive);
}
int search(int[] arr, int value) {
int low = 0;
int high = arr.length - 1;
while (low <= high) {
int min = low + (high - low) / 2;
if (arr[min] == value) {
return min;
} else if (arr[min] < value) {
low = min + 1;
} else {
high = min - 1;
}
}
return -1;
}
int recursive(int[] arr,int low,int high,int value){
if (low > high) return -1;
int min = low + (high - low) / 2;
if (arr[min] == value) {
return min;
} else if (arr[min] < value) {
return recursive(arr, min+1, high, value);
} else {
return recursive(arr, low, min-1, value);
}
}