binary search algorithm
#include <bits/stdc++.h>
using namespace std;
int binarySearch(int arr[], int l, int h, int key){
    if(l<=h){
        int mid = l + (h-l)/2;
        if(arr[mid] == key){
            return mid;
        }
        else if(arr[mid] > key){
            return binarySearch(arr, l, mid-1, key);
        }
        else if(arr[mid] < key){
            return binarySearch(arr,mid+1, h, key);
        }
    }       
    return -1;
}
int main(){
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
    int n = sizeof(arr)/sizeof(arr[0]);
    int key = 7;
    int result = binarySearch(arr,0,n-1,key);
    (result==-1)
        ? cout << "Element is not found in the array" << endl
        : cout << "Element is found at index " << result;
    return 0;
}
