GATE CS 2014 Set 3 — Question 52
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumBinary Search & VariantsSearchingAlgorithmsControl FlowC ProgrammingProgramming & Data Structures
Algorithms → C Programming → Binary Search & Variants
Last updated
Question
Consider the C function given below. Assume that the array Which one of the following statements about the function
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;
}
ProcessArray is CORRECT?Correct answer
(B) It is an implementation of binary search.
Solution
The function implements a variation of binary search.Trace:
- The loop continues as long as
i <= j. kis the middle index.- If
x <= listA[k], the upper boundjis moved tok-1. - If
listA[k] <= x, the lower boundiis moved tok+1.
listA[k] == x:- Both conditions are true.
jbecomesk-1andibecomesk+1.- The loop condition
i <= jbecomes false (sincek+1 > k-1), and the loop terminates. - After the loop,
listA[k] == xis checked. Sincekholds the index where the match was found, it returnsk.
x is not in the array:- The range
[i, j]shrinks untili > jwithout ever hitting the equality case simultaneously (or if it does,listA[k]won't bexunlessxwas found). - The loop terminates, and the final check
listA[k] == xfails, returning -1.
x in the sorted array listA.Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on C Programming
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 1 Q17Consider the following recurrence relations: For all ,…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 2 Q24Consider the following functions, where is a positive integer.…