I am having issues implementing a Queue data structures several functions

The functions i need help with:

1. item = NewItem(); // returns a pointer to a new q-element

2. tnitQueue( &head) // creates a empty queue, pointed to by the variable head.

3. addQueue(&head, item) // adds a queue item, pointed to by “item”, to the queue pointed to by head.

4. item = DelQueue(&head) // deletes an item from head and returns a pointer to the deleted item

5. rotateQ(&head) // Moves the header pointer to the next element in the queue. This is equivalent to AddQ(&head, DeleteQ(&head)), but is simpler to use and more efficient to implement.

6. freeItem()

.

It would help if you could write comments for the function so i can easily walk through a better understand what is going on. thank in advance

"Get 15% discount on your first 3 orders with us"
Use the following coupon
FIRST15

Order Now