Binary Search (Recursive)
Binary Search (Recursive)
Send Feedback
Given an integer sorted array (sorted in increasing order) and an element x, find the x in given array using binary search. Return the index of x.
Return -1 if x is not present in the given array.
Note : If given array size is even, take first mid.
Input format :
Line 1 : Array size
Line 2 : Array elements (separated by space)
Line 3 : x (element to be searched)
Sample Input :
Sample Output:
3
// input - input array
// size - length of input array
// element - value to be searched
int binaryhelper(int input[],int s,int e,int element)
{
if(s>e)
{
return -1;
}
int mid=(s+e)/2;
if(input[mid]==element)
{
return mid;
}
else if(input[mid]<element)
{
return binaryhelper(input,mid+1,e,element);
}
else
{
return binaryhelper(input,s,mid-1,element);
}
}
int binarySearch(int input[], int size, int element) {
// Write your code here
binaryhelper(input,0,size-1,element);
}
#include <iostream>
using namespace std;
// input - input array
// size - length of input array
// element - value to be searched
int binaryhelper(int input[],int s,int e,int element)
{
if(s>e)
{
return -1;
}
int mid=(s+e)/2;
if(input[mid]==element)
{
return mid;
}
else if(input[mid]<element)
{
return binaryhelper(input,mid+1,e,element);
}
else
{
return binaryhelper(input,s,mid-1,element);
}
}
int binarySearch(int input[], int size, int element) {
// Write your code here
binaryhelper(input,0,size-1,element);
}
int main() {
int input[100000],length,element, ans;
cin >> length;
for(int i =0;i<length;i++)
{
cin >> input[i];;
}
cin>>element;
ans = binarySearch(input, length, element);
cout<< ans << endl;
}
Comments
Post a Comment