#include "Lib.h"

void InitQueue(queue * q)
{
    (*q).items = ZERO;
}

void InsertQueue(queue * q, Data_Type item)
{
    if (!((*q).items))
    {
        (*q).values = (Data_Type *)malloc((++((*q).items)) * sizeof(Data_Type));
    }
    else
    {
        (*q).values = (Data_Type *)realloc((*q).values, ((++((*q).items)) * sizeof(Data_Type)));
    }
    *((*q).values + (*q).items - ONE) = item;
}

Data_Type RemoveQueue(queue * q)
{
    if (!((*q).items))
    {
        (*q).values = (Data_Type *)malloc((++((*q).items)) * sizeof(Data_Type));
    }
    else
    {
        (*q).values = (Data_Type *)realloc((*q).values, ((++((*q).items)) * sizeof(Data_Type)));
    }
    *((*q).values + (*q).items - ONE) = item;
}