Trace and comment each and every line of the C++ program below ; #include using namespace std; int binarySearch(int arr[], int left, int right, int num) { if (right >= left) { int mid = left + (right - left) / 2; if (arr[mid] == num) return mid; if (arr[mid] > num) return binarySearch(arr, left, mid - 1, num); return binarySearch(arr, mid + 1, right, num); } return -1; } int main(void) { int arr[] = { 2, 3, 4, 8, 10, 40 }; int check = 40; int n = sizeof(arr) / sizeof(arr[0]); int result = binarySearch(arr, 0, n - 1, check); (result == -1) ? cout << "Element is not present in array" : cout << "Element is present at index " << result; return 0; }
Question:
Trace and comment each and every line of the C++ program below ;
#include <iostream>
using namespace std;
int binarySearch(int arr[], int left, int right, int num)
{
if (right >= left) {
int mid = left + (right - left) / 2;
if (arr[mid] == num)
return mid;
if (arr[mid] > num)
return binarySearch(arr, left, mid - 1, num);
return binarySearch(arr, mid + 1, right, num);
}
return -1;
}
int main(void)
{
int arr[] = { 2, 3, 4, 8, 10, 40 };
int check = 40;
int n = sizeof(arr) / sizeof(arr[0]);
int result = binarySearch(arr, 0, n - 1, check);
(result == -1)
? cout << "Element is not present in array"
: cout << "Element is present at index " << result;
return 0;
}
![](/static/compass_v2/shared-icons/check-mark.png)
#include <iostream> // To include the IO library header
using namespace std;
int binarySearch(int arr[], int left, int right, int num)
{
if (right >= left) // Check if num is present at right or left
{
int mid = left + (right - left) / 2; // If num greater, ignore left half
if (arr[mid] == num)
// If the element is present at the middle
// itself
return mid;
if (arr[mid] > num) // If num is smaller than mid, then
// it can only be present in left subarray
return binarySearch(arr, left, mid - 1, num);
return binarySearch(arr, mid + 1, right, num);
}
return -1; // We reach here when element is not
// present in array
}
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)