# GATE | GATE-CS-2014-(Set-3) | Question 65

• Last Updated : 28 Jun, 2021

Consider the C function given below. Assume that the array listA contains n (> 0) elements, sorted in ascending order.

Attention reader! Don’t stop learning now.  Practice GATE exam well before the actual exam with the subject-wise and overall quizzes available in GATE Test Series Course.

Learn all GATE CS concepts with Free Live Classes on our youtube channel.

 `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.

```The function is iterative implementation of Binary Search.