예제 #1
0
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;
	}
}
예제 #2
0
파일: pa4.c 프로젝트: Laidir88/Code-Grocery
/**************************************************************************************************
* 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;
	
}