Binary Search STL

In this program, we will see, how to find an element in the sorted array.

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int arr[] = {10, 20, 30, 40, 50, 60, 100, 100};
    int n = sizeof(arr) / sizeof(int);
    //Search -- Key
    int key;
    cout << "Enter the Key" << endl;
    cin >> key;
    bool present = binary_search(arr, arr + n, key);
    if (present)
    {
        cout << "Key is Present in the array" << endl;
        auto lbitr = lower_bound(arr, arr + n, key);
        cout << "Lower bound is " << lbitr - arr << endl;
        auto ubitr = upper_bound(arr, arr + n, key);
        cout << "Upper bound is " << ubitr - arr << endl;
        cout << "Occurrences of Key in array is " << ubitr - lbitr << endl;
    }
    else
    {
        cout << "Key is not Present in the array" << endl;
    }
    return 0;
}

Leave a Comment

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