typedef struct person{
char firstname[30], lastname[30], sex[10];
int hfeet, hinches;
float weight;
}Person;
typedef struct node *nodeptr;
typedef struct node{
Person data;
nodeptr next;
}Node;
void Enqueue(nodeptr *queue, nodeptr *element, nodeptr *tail) {
if (*tail == NULL) {
*queue = *element;
*tail = *element;
}
else {
(*tail)->next = *element;
*tail = *element;
}
}
nodeptr Dequeue(nodeptr *queue, nodeptr *head, nodeptr *tail) {
if (*head == NULL){
nodeptr current = *queue;
*head = NULL;
*tail = *head;
*queue = *head;
return current;
}
else{
nodeptr current = *queue;
*queue = (*queue)->next;
*head = *queue;
return current;
}
}
So here's my code for my enqueue and dequeue function. Problem is, when I add another element, it won't be stored in the queue. What's wrong?