++ IteratorUtility.c ++ LLDataEngine.c ++ QueueUtility.c ++ StackUtility.c +- PA06_Main.c +- Makefile for PA06
80 lines
2.4 KiB
C
80 lines
2.4 KiB
C
#ifndef QUEUE_UTILITY_H
|
|
#define QUEUE_UTILITY_H
|
|
|
|
// header files
|
|
#include "LLDataEngine.h"
|
|
|
|
// data structures
|
|
typedef StateLLType QueueType;
|
|
|
|
// function prototypes
|
|
|
|
/*
|
|
Name: clearQueue
|
|
Process: clears QueueType, returns NULL
|
|
Function input/parameters: pointer to queue type (QueueType *)
|
|
Function output/parameters: none
|
|
Function output/returned: NULL
|
|
Device input/---: none
|
|
Device output/---: none
|
|
Dependencies: clearDataStructure
|
|
*/
|
|
QueueType *clearQueue( QueueType *queue );
|
|
|
|
/*
|
|
Name: createQueue
|
|
Process: creates QueueType, initializes front index to zero,
|
|
rear index to -1, returns pointer to data structure
|
|
Function input/parameters: initial capacity (int)
|
|
Function output/parameters: none
|
|
Function output/returned: pointer to queue type (QueueType *)
|
|
Device input/---: none
|
|
Device output/---: none
|
|
Dependencies: createDataStructure
|
|
*/
|
|
QueueType *createQueue();
|
|
|
|
/*
|
|
Name: peekFront
|
|
Process: captures value at front of queue
|
|
returns true if successful and sets return value,
|
|
otherwise, sets return value to empty, returns false
|
|
Function input/parameters: pointer to queue type (QueueType *)
|
|
Function output/parameters: pointer to return value (StateDataType *)
|
|
Function output/returned: Boolean result of operation
|
|
Device input/---: none
|
|
Device output/---: none
|
|
Dependencies: getItemAtIndex, getListSize
|
|
*/
|
|
bool peekFront( StateDataType *returnVal, const QueueType queue );
|
|
|
|
/*
|
|
Name: dequeue
|
|
Process: captures value at front of queue, removes and returns value,
|
|
returns true if successful,
|
|
otherwise, sets return value to empty, returns false
|
|
Function input/parameters: pointer to queue type (QueueType *)
|
|
Function output/parameters: pointer to return value (StateDataType *)
|
|
Function output/returned: Boolean result of operation
|
|
Device input/---: none
|
|
Device output/---: none
|
|
Dependencies: removeItemAtIndex, getListSize
|
|
*/
|
|
bool dequeue( StateDataType *returnVal, QueueType *queue );
|
|
|
|
/*
|
|
Name: enqueue
|
|
Process: sets value at rear of queue
|
|
returns true if successful, false otherwise
|
|
Function input/parameters: pointer to queue type (QueueType *)
|
|
Function output/parameters: value to be pushed (const StateDataType)
|
|
Function output/returned: Boolean result of operation
|
|
Device input/---: none
|
|
Device output/---: none
|
|
Dependencies: insertItemAtIndex
|
|
*/
|
|
bool enqueue( QueueType *queue, const StateDataType toBePushed );
|
|
|
|
|
|
|
|
#endif // QUEUE_UTILITY_H
|