C++ Program for Binary Search using Recursion
Write C++ Program for Binary Search using Recursion
// CPP Program for Binary Search using Recursion
#include <iostream>
using namespace std;
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;
cout << "Array Elements :--> ";
for(int i=0; i<n; i++)
cout << A[i] << " ";
cout << "\nEnter Key Element to Search :--> ";
cin >> key;
int result = binarySearch(A, 0, n - 1, key);
if(result == -1)
{
cout << "\nElement is not present in array";
}
else
{
cout << "\nElement is present at index " << result;
}
return 0;
}
Output:
Run 1:
Array Elements :--> 11 22 33 44 55 66 77
Enter Key Element to Search :--> 3
Element is not present in array
Run 2:
Array Elements :--> 11 22 33 44 55 66 77
Enter Key Element to Search :--> 33
Element is present at index 2