binary search stl in c++
// C++ code to demonstrate the working of binary_search()
#include<bits/stdc++.h>
using namespace std;
int main()
{
// initializing vector of integers
vector<int> arr = {10, 15, 20, 25, 30, 35};
// using binary_search to check if 15 exists
if (binary_search(arr.begin(), arr.end(), 15))
cout << "15 exists in vector";
else
cout << "15 does not exist";
cout << endl;
// using binary_search to check if 23 exists
if (binary_search(arr.begin(), arr.end(), 23))
cout << "23 exists in vector";
else
cout << "23 does not exist";
cout << endl;
}
#include<iostream>
using namespace std;
int binarySearch(int arr[], int p, int r, int num) {
if (p <= r) {
int mid = (p + r)/2;
if (arr[mid] == num)
return mid ;
if (arr[mid] > num)
return binarySearch(arr, p, mid-1, num);
if (arr[mid] < num)
return binarySearch(arr, mid+1, r, num);
}
return -1;
}
int main(void) {
int arr[] = {1, 3, 7, 15, 18, 20, 25, 33, 36, 40};
int n = sizeof(arr)/ sizeof(arr[0]);
int num = 33;
int index = binarySearch (arr, 0, n-1, num);
if(index == -1)
cout<< num <<" is not present in the array";
else
cout<< num <<" is present at index "<< index <<" in the array";
return 0;
}