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 Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s