(Choose 1 answer)
Suppose we are implementing a queue using a singly linked list where the end of the list is treated as the end of the queue.
Specify the correct implementation of enqueue() method of the queue. (Choose the most suitable one)
A. void enqueue(Object x){ Node p = new Node(x);p.next = null;tail.next = p;
tail = p;
}
B. void enqueue(Object x){ Node p = new Node(x);p.next = null;if(isEmpty())head = tail = p;else{ tail.next = p;}
tail = p;
}
. void enqueue(Object x)C{ Node p = new Node(x);
p.next = null;if(isEmpty())head = tail = p;elsetail.next = p;}
D. void enqueue(Object x)
{ Node p = new Node(x);
p.next = null;
if(isEmpty())head = tail = p;