GATE CS 2015 Set 2 — Question 49

Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.
MCQ+2 / -0.67MediumSelection (Order Statistics)SearchingAlgorithmsFunctions & RecursionC ProgrammingProgramming & Data StructuresArrays & Strings in C

Algorithms → C Programming → Arrays & Strings in C

Last updated

Question

Suppose you are provided with the following function declaration in the C programming language.
int partition(int a[], int n);
The function treats the first element of a[] as a pivot, and rearranges the array so that all elements less than or equal to the pivot is in the left part of the array, and all elements greater than the pivot is in the right part. In addition, it moves the pivot so that the pivot is the last element of the left part. The return value is the number of elements in the left part.
The following partially given function in the C programming language is used to find the kthk^{th} smallest element in an array a[] of size n using the partition function. We assume knk \le n.
int kth_smallest(int a[], int n, int k)
{
    int left_end = partition(a, n);

    if ( left_end+1 == k ) {
        return a[left_end];
    }

    if ( left_end+1 > k ) {
        return kth_smallest( ___________ );
    } else {
        return kth_smallest( ___________ );
    }
}
The missing argument lists are respectively
Your answer

Choose one option, then check your answer.

The solution stays hidden until you check.

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