wiz-icon
MyQuestionIcon
MyQuestionIcon
1
You visited us 1 times! Enjoying our articles? Unlock Full Access!
Question

The following C function takes a singly-linked list of integers as a parameter and rearranges the elements of the list. The list is represented as pointer to a structure. The function is called with the list containing the integers 1, 2, 3, 4, 5, 6, 7 in the given order.

What will be the contents of the list after the function completes execution?

struct node
{
int value;
struct node *next;
};
void rearrange (struct node *list)
{
struct node *p, *q;
int temp;
if (!list !list next)
return;
p = list;
q = list next;
while (q)
{
temp = p value;
p value = q value;
q value = temp;
p = q next;
q = p ? p next : 0;
}
}



A
2, 1, 4, 3, 6, 5, 7
Right on! Give the BNAT exam to get a 100% scholarship for BYJUS courses
B
1, 2, 3, 4, 5, 6, 7
No worries! We‘ve got your back. Try BYJU‘S free classes today!
C
2, 3, 4, 5, 6, 7, 1
No worries! We‘ve got your back. Try BYJU‘S free classes today!
D
1, 3, 2, 5, 4, 7, 6
No worries! We‘ve got your back. Try BYJU‘S free classes today!
Open in App
Solution

The correct option is A 2, 1, 4, 3, 6, 5, 7
2 1 4 3 6 5 7 : as p and q are swapping each other where q is
p next all the time.

flag
Suggest Corrections
thumbs-up
2
similar_icon
Similar questions
View More
Join BYJU'S Learning Program
similar_icon
Related Videos
thumbnail
lock
Linear Inequations
MATHEMATICS
Watch in App
Join BYJU'S Learning Program
CrossIcon