diff --git a/Languages/C++/binarySearch.cpp b/Languages/C++/binarySearch.cpp index ba119c8d..feb37ac5 100644 --- a/Languages/C++/binarySearch.cpp +++ b/Languages/C++/binarySearch.cpp @@ -4,19 +4,20 @@ using namespace std; int binarySearch(int arr[], int size, int x){ int beg = 0; int end = size - 1; - while(beg <= end){ - int mid = end + (beg - end)/2; - if(arr[mid] == x){ - return mid; - } - else if(arr[mid] >= x){ - end = mid-1; - } - else{ - beg = mid+1; - } + if(beg>end) + return false; + + int mid = beg+ (end-beg)/2; + + if (arr[mid] == x) + return true; + + if(arr[mid]>x){ + binarySearch(arr, beg, mid-1, x); + } + else{ + binarySearch(arr, mid+1, end, x); } - return -1; } int main(){ @@ -45,4 +46,4 @@ int main(){ } return 0; -} \ No newline at end of file +}