#include<iostream>

using namespace std;

int binarySearch(int[], int, int, int);

int main()
{
int num[10] = {23,34,45,56,67,78,89,90,101,110};
int search_num=78, loc=-1;

loc = binarySearch(num, 0, 10, search_num);

if(loc != -1)
{
cout<<search_num<<” found in the array at the location: “<<loc;
}
else
{
cout<<“Element not found”;
}
return 0;
}

int binarySearch(int a[], int first, int last, int search_num)
{
int middle;
if(last >= first)
{
middle = (first + last)/2;
//Checking if the element is present at middle loc
if(a[middle] == search_num)
{
return middle+1;
}

  //Checking if the search element is present in greater half
  else if(a[middle] < search_num)
  {
     return binarySearch(a,middle+1,last,search_num);
  }

  //Checking if the search element is present in lower half
  else
  {
     return binarySearch(a,first,middle-1,search_num);
  }

}
return -1;
}

Leave a Reply

Your email address will not be published. Required fields are marked *