/* This program uses code from "Algorithms in C, Third Edition,"
 *               by Robert Sedgewick, Addison-Wesley, 1998.
 */


#ifndef CSE_2320_QUEUES_H
#define CSE_2320_QUEUES_H


typedef struct queue_struct * Queue;

// For the array-based implementation, calling newQueue with no arguments
// returns a queue with max_size = 1000. For the list-based representation,
// there is no max_size.
Queue newQueue();
Queue newQueue1(int max_size);
void destroyQueue(Queue queue);
void put(Queue queue, void * content);
void * get(Queue queue);
int queueFull(Queue queue);
int queueEmpty(Queue queue);

int getInt(Queue queue);
void putInt(Queue queue, int value);
void printIntQueue(Queue queue);

#endif	/* CSE_2320_QUEUES_H */

