What is the implementation of a queue using a singly linked list with head and tail pointers?
1) The front of the queue is at the head of the list and the rear is at the tail
2) The front of the queue is at the tail of the list and the rear is at the head
3) The front of the queue is at the tail of the list and the rear is at the head, but the elements are stored in reverse order
4) The front of the queue is at the head of the list and the rear is at the tail, but the elements are stored in reverse order