char Queue_removeitem(struct Queue *pQueue)
{
char result = 0;
if (!Queue_isempty(pQueue))
{
unsigned head;
head = ((struct _Queue *)pQueue)->head;
result = ArrayADT_getElement(((struct _Queue *)pQueue)->array, head);
((struct _Queue *)pQueue)->head = (head + 1) % ArrayADT_getcapacity(((struct _Queue *)pQueue)->array);
((struct _Queue *)pQueue)->size--;
}
return result;
}