The single-linked list of integers is taken as a parameter and the function rearranges the elements of the list
The function is called with the list containing the integers in the order: 1, 2, 3, 4, 5, 6, 7
What are the contents of the list after the function 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 binary tree generates the sequence ABCDEFG for an inorder traversal and the sequence ACBGFED for a postorder traversal. What are the total number of nodes in the left subtree of this binary tree?
A priority queue is implemented as a max heap. Initially, it has 5 elements. The level-order traversal of the heap is 10, 8, 5, 3, 2. Two new elements '1‘ and '7‘ are inserted in the heap in that order.
What is the level-order traversal of the heap after the insertion of the new elements?