void enqueue(Queue *pQ, int newItem) { QueueNode *pMem = NULL; pMem = makeQueueNode(newItem); if(NULL == pQ->pHead) //Could check tail but if head is null tail must also be NULL { pQ -> pTail = pQ -> pHead = pMem; //If only item in queue it is both the head and the tail } else //Non-empty queue { pQ->pTail->pNext = pMem; pQ->pTail = pMem; } }
/************************************************************************************************** * Function Name: enqueue * * Date Created: 2/16/12 * * Date Last Modified:2/16/12 * * Description: function adds new queue to tail of queue/back of queue * * Input Parameters: pointer to queue and data in queue * * Returns: NONE * * Preconditions: address to queue is passed in along with data * * Post Conditions: new queue node is added to tail end * * Test Conditions: NOT TESTED * **************************************************************************************************/ void enqueue(Queue *pQueue, QueueNode data) { QueueNode *pTMem = NULL; pTMem = makeQueueNode(data); if (isEmpty(*pQueue)) { pQueue ->pHead = pTMem; } else //not empty { pQueue ->pTail ->pNext = pTMem; } pQueue ->pTail = pTMem; }