typedef struct queueNode { ... } QueueNode;
typedef struct queueRep { ... } QueueRep;
typedef QueueRep *Queue;
Queue emptyQueue(); // make an empty Queue
int length(Queue q); // # values in Queue
int isEmpty(Queue q); // is Queue empty?
enqueue(Queue q, int v); // add value at tail
int dequeue(Queue s); // remove head value
|