binary search stl on array in c++ code example

Example 1: how to do binary search in c++ using STL

// BY shivam kumar KIIT
#include<bits/stdc++.h>
usind namespace std;
int main()
{
	int arr[]={10,2,34,2,5,4,1};
  	sort(arr,arr+7);//sort array in ascending order before using binary search
  	binary_search(arr,arr+7,10);//return 1 as element is found
  	binary_search(arr,arr+7,3);//return 0 as element is not found
  	return 0;
}

Example 2: Binary search in c++

//By Sudhanshu Sharan
#include<iostream>
#include<cmath>
using namespace std;
// BCT= o(1)  and  WCT=O(logn)   time taken for unsucessful search is always o(logn)

int BinSearch( int arr[],int key,int len)
{
	int h,mid,l;
	l=0;
	h=len-1;
	while(l<=h)
	{
		mid=((l+h)/2);
		if(key==arr[mid])
			return mid;
		else if(key<arr[mid])
			h=mid-1;
		else
			l=mid+1;
	}
	return -1;
}
int main()
{
	int key,i,len;
	int arr[] = {1,2,3,6,9,12,15,34,54};
	len=sizeof(arr)/sizeof(arr[0]);
	cout<<"enter the key to be searched";
	cin>>key;
	int result= BinSearch(arr,key,len);
	(result == -1)
		? cout<<"Element is not present in the array"<<endl
		: cout<<"Element is present at index : "<<result<<endl;	
	for(i=0;i<len-1;i++)
		cout<<arr[i]<<" ";
    return 0;
}

Tags:

Cpp Example