Computer Sciences > GATE 2014 SET-3 > Binary Search
Consider the C function given below. Assume that the array listA contains n (> 0) elements, sorted in ascending order.
int ProcessArray(int *listA, int x, int n)
{
int i, j, k;
i = 0;
j = n - 1;
do {
k = (i + j)/2;
if (x <= listA[k])
j = k - 1;
if (listA[k] <= x)
i = k + 1;
} while (i <= j);
if (listA[k] == x)
return (k);
else
return -1;
}
Which one of the following statements about the function ProcessArray is CORRECT?
A
It will run into an infinite loop when x is not in listA.
B
It is an implementation of binary search.
C
It will always find the maximum element in listA.
D
It will return -1 even when x is present in listA.

Correct : b

Similar Questions

What is the worst-case number of arithmetic operations performed by recursive binary search on a sorted array of size n?
#1073 MCQ
What is the worst-case number of arithmetic operations performed by recursive binary search on a sorted array of size n?
#1073 MCQ
What is the worst-case number of arithmetic operations performed by recursive binary search on a sorted array of size n?
#1073 MCQ

Related Topics

No tags found

Unique Visitor Count

Total Unique Visitors

Loading......