stack.queue/queue.c
void enqueue(Item *newItem) {
    if (!newItem) {
        printf("[ERR] Invalid item.\n");
        return;
    } 
    if (!first) {
        first = newItem;
        last = newItem;
    } else {
        last->next = newItem;
        last = newItem;
    }
}
/**
 * enqueue: inserts an Item into the queue
 * @param newItem a pointer to a new Item
 * @return void 
*/
inserts an Item into the queue
@param newItem a pointer to a new Item
@return void
inserts an Item into the queue @param newItem a pointer to a new Item @return void
void enqueue(Item *newItem) {
    if (!newItem) {
        printf("[ERR] Invalid item.\n");
        return;
    } 
    if (!first) {
        first = newItem;
        last = newItem;
    } else {
        last->next = newItem;
        last = newItem;
    }
}
void enqueue ( Item * newItem ) { if ( ! newItem ) { printf ( " \n " ) ; return ; } if ( ! first ) { first = newItem ; last = newItem ; } else { last -> next = newItem ; last = newItem ; } }
enqueue: inserts an Item into the queue
 @param newItem a pointer to a new Item
 @return void
enqueue : inserts an Item into the queue @param newItem a pointer to a new Item @return void