GATE CS 2017 Set 2 — Question 43
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.NAT+2 / -0MediumArrays & Strings in CC ProgrammingProgramming & Data StructuresBubble, Insertion, Selection SortSortingAlgorithmsPointers & Pointer Arithmetic
Algorithms → C Programming → Arrays & Strings in C
Last updated
Question
Consider the following snippet of a C program. Assume that The output of the program is ________.
swap(&x, &y) exchanges the contents of x and y.int main() {
int array[] = {3, 5, 1, 4, 6, 2};
int done = 0;
int i;
while (done == 0) {
done = 1;
for (i=0; i<=4; i++) {
if (array[i] < array[i+1]) {
swap(&array[i], &array[i+1]);
done = 0;
}
}
for (i=5; i>=1; i--) {
if (array[i] > array[i-1]) {
swap(&array[i], &array[i-1]);
done = 0;
}
}
}
printf("%d", array[3]);
}
Correct answer
3 to 3
Solution
The provided C code implements a variation of the bubble sort algorithm known as the Cocktail Shaker Sort (or bidirectional bubble sort). However, the comparison operators are set such that it sorts the array in descending order.
1.Initial array:
{3, 5, 1, 4, 6, 2}2.First pass (forward): Moves smaller elements to the right. After the first forward loop, the array becomes
{5, 3, 4, 6, 2, 1}.3.First pass (backward): Moves larger elements to the left. After the first backward loop, the array becomes
{6, 5, 3, 4, 2, 1}.4.Second pass (forward): The array becomes
{6, 5, 4, 3, 2, 1}.5.Termination: In the next iteration, no swaps occur,
The final sorted array in descending order is done remains 1, and the loop terminates.{6, 5, 4, 3, 2, 1}. The value at array[3] (the 4th element) is 3.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.…