CS249-Projects/PA05-1004/QueueUtility.h
cdez 108632e832 PA05 Initialization
++ PA05 Project Files
++ Makefile for PA05
2023-09-29 15:49:32 -07:00

80 lines
2.4 KiB
C

#ifndef QUEUE_UTILITY_H
#define QUEUE_UTILITY_H
// header files
#include "ArrayDataEngine.h"
// data structures
typedef StateArrayType 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( int initialCapacity );
/*
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