Create a method binarySearch()
inside BinarySearch
class
public class BinarySearch {
int binarySearch(int arr[], int left, int right, int key) {
//todo
}
}
int binarySearch(int arr[], int left, int right, int key) {
if (right >= left) {
int middle = left + (right - 1) / 2;
//todo
}
}
int binarySearch(int arr[], int left, int right, int key) {
if (right >= left) {
int middle = left + (right - 1) / 2;
if (arr[middle] == key) {
return middle;
}
//todo
}
}
int binarySearch(int arr[], int left, int right, int key) {
if (right >= left) {
int middle = left + (right - 1) / 2;
if (arr[middle] == key) {
return middle;
}
if (arr[middle] > key) {
return binarySearch(arr, left, middle - 1, key);
}
//todo
}
}
int binarySearch(int arr[], int left, int right, int key) {
if (right >= left) {
int middle = left + (right - 1) / 2;
if (arr[middle] == key) {
return middle;
}
if (arr[middle] > key) {
return binarySearch(arr, left, middle - 1, key);
}
return binarySearch(arr, middle + 1, right, key);
//todo
}
}
int binarySearch(int arr[], int left, int right, int key) {
if (right >= left) {
int middle = left + (right - 1) / 2;
if (arr[middle] == key) {
return middle;
}
if (arr[middle] > key) {
return binarySearch(arr, left, middle - 1, key);
}
return binarySearch(arr, middle + 1, right, key);
}
return -1;
}
main
method...
public static void main(String[] args) throws Exception {
int arr[] = { 0, 5, 7, 12, 45, 53 };
int key = -3;
BinarySearch bs = new BinarySearch();
int index = bs.binarySearch(arr, 0, arr.length - 1, key);
if (index == -1) {
System.out.println("" + key + " not found");
} else {
System.out.println("" + key + " found at " + index);
}
}
Final Code...
public class BinarySearch {
int binarySearch(int arr[], int left, int right, int key) {
if (right >= left) {
int middle = left + (right - 1) / 2;
if (arr[middle] == key) {
return middle;
}
if (arr[middle] > key) {
return binarySearch(arr, left, middle - 1, key);
}
return binarySearch(arr, middle + 1, right, key);
}
return -1;
}
public static void main(String[] args) throws Exception {
int arr[] = { 0, 5, 7, 12, 45, 53 };
int key = -3;
BinarySearch bs = new BinarySearch();
int index = bs.binarySearch(arr, 0, arr.length - 1, key);
if (index == -1) {
System.out.println("" + key + " not found");
} else {
System.out.println("" + key + " found at " + index);
}
}
}
Watch Full video on YouTube
Top comments (0)