Answer B
for circular queue using single link list, for enqueue and dequeue operation in O(1) time rear->next should point front
When you create a new node then there should be a pointer which points that newly created node . This pointer is necessary.
For enqueue
pointer->next = rear->next
rear->next=pointer
rear=pointer
It takes O(1) times
For dequeue
rear->next = front->next
pointer=front ( this extra pointer required to free the memory deleted node)
front= rear->next
Free(pointer)
It takes O(1) times