C Program for Binary Search using Recursion
Write a Program for Binary Search using Recursion
// C Program for Binary Search using Recursion #include <stdio.h> int binarySearch(int A[], int start, int end, int key) { while(start <= end) { int mid = (start + end)/2; if(A[mid] == key) { return mid; } else if(A[mid] > key) { return binarySearch(A, start, mid - 1, key); } else { return binarySearch(A, mid + 1, end, key); } } return -1; } int main() { int A[] = { 11, 22, 33, 44, 55, 66, 77}; int n = sizeof(A) / sizeof(A[0]); //n is the size of the array int key; printf("Array Elements :--> "); for(int i=0; i<n; i++) printf("%d ", A[i]); printf("\nEnter Key Element to Search :--> "); scanf("%d", &key); int result = binarySearch(A, 0, n - 1, key); if(result == -1) { printf("\nElement is not present in array"); } else { printf("\nElement is present at index %d", result); } return 0; }
Output:
Array Elements :--> 11 22 33 44 55 66 77
Enter Key Element to Search :--> 3