binarysearch by 3 code code example
Example 1: binary search java
// Java implementation of iterative Binary Search
class BinarySearch {
// Returns index of x if it is present in arr[],
// else return -1
int binarySearch(int arr[], int x)
{
int l = 0, r = arr.length - 1;
while (l <= r) {
int m = l + (r - l) / 2;
// Check if x is present at mid
if (arr[m] == x)
return m;
// If x greater, ignore left half
if (arr[m] < x)
l = m + 1;
// If x is smaller, ignore right half
else
r = m - 1;
}
// if we reach here, then element was
// not present
return -1;
}
// Driver method to test above
public static void main(String args[])
{
BinarySearch ob = new BinarySearch();
int arr[] = { 2, 3, 4, 10, 40 };
int n = arr.length;
int x = 10;
int result = ob.binarySearch(arr, x);
if (result == -1)
System.out.println("Element not present");
else
System.out.println("Element found at "
+ "index " + result);
}
}
Example 2: binary search in c
//C Implementation
int BinarySearch(int arr[], int search, int mid, int len){
if(mid == -1 || mid == len+1){
printf("\nSearched Element doesn't exist.");
return 1;
}
else if (search > arr[mid]){
mid++;
BinarySearch(arr,search,mid,len);
return 0;
}
else if (search < arr[mid]){
mid--;
BinarySearch(arr,search,mid,len);
return 0;
}
else if(search == arr[mid]) {
printf("\n Searched Element found at Location %d.",mid);
return 1;
}
}
void main(){
int arr[] = {1,2,3,4,5,6,7,8,9};
int len = sizeof(arr) / sizeof(int);
int mid = (int) (len / 2) + 1;
printf("\n Please Enter Number You Want to Search \n > ");
int search;
scanf("%d",&search);
int Result = BinarySearch(arr,search,mid,len);
}