A circular queue has been implemented using a singly linked list where each node consists of a value and a single pointer pointing to the next node. We maintain exactly two external pointers FRONT and REAR pointing to the front node and the rear node of the queue, respectively. Which of the following statements is/are CORRECT for such a circular queue, so that insertion and deletion operations can be performed in O(1)O(1) time?
I. Next pointer of front node points to the rear node.
II. Next pointer of rear node points to the front node.
A. (I) only.
B. (II) only.
C. Both (I) and (II).
D. Neither (I) nor (II).
In this,if B is the answer,then how it is called singly linked list? It becomes circular linked list,and if have both front and rear pointer given,so any way it would take O(1) time only even without pointing the next pointer of rear node to front. We dont need to do this. So why B is the correct answer?D should be correct ? please explain.