Answer to Question queue1-3

Yes, but it is overkill. We already have an efficient implementation of queues with just one pointer per cell.

If you want to add more operations, it might be useful to have pointers both directions. For example, you might want to have an operation that takes a pointer to a given cell and inserts a new cell just before that cell. A doubly-linked list allows you to do that efficiently.