Question: #include using namespace std; int binarySearch(int [], int, int); // function prototype const int SIZE = 16; int main() { int found, value; int list[]
#include
using namespace std;
int binarySearch(int [], int, int); // function prototype
const int SIZE = 16;
int main()
{
int found, value;
int list[] = {34,19,19,18,17,13,12,12,12,11,9,5,3,2,2,0}; // array to be searched
cout << "Enter an integer to search for:" << endl;
cin >> value;
found = binarySearch(list, SIZE, value); // function call to perform the binary search
// on array looking for an occurrence of value
if (found == -1)
cout << "The value " << value << " is not in the list" << endl;
else
{
cout << "The value " << value << " is in position number "
<< found + 1 << " of the list" << endl;
}
system ("pause");
return 0;
}
int binarySearch(int array[],int numElems,int value) //function heading
{
int first = 0; // First element of list
int last = numElems - 1; // last element of the list
int middle; // variable containing the current middle value of the list
while (first <= last)
{
middle = first + (last - first) / 2;
if (array[middle] == value)
return middle; // if value is in the middle, we are done
else if (array[middle] < value)
last = middle - 1; // toss out the second half of the array
//and search the first
else
first = middle + 1; // toss out the first half of the array
//and search the second
}
return -1; // indicates that value is not in the array
}
Add code to output the number of lookups (i.e. search comparisons) the program
performs. Show the results for the following sample test data: 19, 13, 2, 55.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
