From 2f0225f5a41ccb1143368b33dc7504b78ea80234 Mon Sep 17 00:00:00 2001 From: Shivam Gupta <41055779+shivamgupta077@users.noreply.github.com> Date: Fri, 11 Oct 2019 09:33:01 +0530 Subject: [PATCH] Binary Search (Iterative and Recursive Code) Added --- binarySearch.cpp | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 binarySearch.cpp diff --git a/binarySearch.cpp b/binarySearch.cpp new file mode 100644 index 0000000..b2b631e --- /dev/null +++ b/binarySearch.cpp @@ -0,0 +1,56 @@ +#include +using namespace std; + +int bsRecursive(int start,int last,int arr[],int value){ + + if(start > last){ + return -1; + } + int mid = (start + last)/2; + if(arr[mid] == value){ + return mid; + } + if(arr[mid] > value){ + return bsRecursive(start,mid-1,arr,value); + } + return bsRecursive(mid+1,last,arr,value); + +} + +int bsIterative(int arr[],int n,int value){ + + int start = 0, last = n-1; + while(start <= last){ + + int mid = (start + last)/2; + if(arr[mid] == value){ + return mid; + } + if(arr[mid] > value){ + last = mid-1; + } + else{ + start = mid+1; + } + } + return -1; + +} + +int main(){ + + int n; //Size of array + cin>>n; + + int arr[n]; + for(int i = 0;i>arr[i]; //Array elements in sorted order + + int value; + cin>>value; //value to be searched in the array + + cout<