/* Enqueue Operation */
int enqueue(struct Queue* q, item n)
{
if( !queue_full(*q) )
{
q->data[q->tail] = n;
q->tail++;
q->tail = q->tail % MAXSIZE;
return 1;
}
else
return -1;
}
/* Dequeue Operation */
/* ======================================================= */
int dequeue(struct Queue* q, item* n)
{
if( !queue_empty(*q) )
{
*n = q->data[q->head];
q->head++;
q->head = q->head % MAXSIZE;
return 1;
}
else
return -1;
}