/* 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;
}