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
#include<stdio.h>
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);
}