Skip to main content

Binary Search Program


#include<iostream>
using namespace std;

int recursive_binary_srch(int Arr[],int firstIndex,int lastIndex,int item)
{
    if(lastIndex>=firstIndex)
    {
        int mid=firstIndex+(lastIndex-firstIndex)/2;
        if(Arr[mid]==item)
        {
            return mid;
        }
        if(item<Arr[mid])
        {
           return recursive_binary_srch(Arr,firstIndex,mid-1,item);
        }
        if(item>Arr[mid])
        {
            return recursive_binary_srch(Arr,mid+1,lastIndex,item);
        }
    }

    return -1;
}

int main()
{
    int n,x,result;

    cout<<"Enter the size of array :\n";


    cin>>n;


    int Arr[n];
    cout<<"Enter the elements into array in ascending order :\n";

    for(int i=0;i<n;i++)
    {
        cin>>Arr[i];
    }
    cout<<"Enter the number you wanna search :\n";

    cin>>x;

    result=recursive_binary_srch(Arr,0,n-1,x);

    if(result== -1)
    {
        cout<<"Opps..! your number has not found in the array !!!";
    }
    else
    {
        cout<<"Your number has found at "<<result<<" index";
    }



    return 0;


}