void Queue_additem(struct Queue *pQueue, char v)
{
unsigned tail;
if (((struct _Queue *)pQueue)->size == ArrayADT_getcapacity(((struct _Queue *)pQueue)->array))
{
// need to increase the capacity (use resize) and reorganize
// this makes a good homework assignment!
}
tail = ((struct _Queue *)pQueue)->head + ((struct _Queue *)pQueue)->size;
tail %= ArrayADT_getcapacity(((struct _Queue *)pQueue)->array);
ArrayADT_setelement(((struct _Queue *)pQueue)->array, tail, v);
((struct _Queue *)pQueue)->size++;
}