Files
FizzyApple12_Waccon/WaccaProtocolTranslator/queue.c
T

40 lines
699 B
C

#include <stdlib.h>
#include <stdbool.h>
#include "queue.h"
void enqueue(node_t **head, int val) {
node_t *new_node = malloc(sizeof(node_t));
if (!new_node) return;
new_node->val = val;
new_node->next = *head;
*head = new_node;
}
int dequeue(node_t **head) {
node_t *current, *prev = NULL;
int retval = -1;
if (*head == NULL) return -1;
current = *head;
while (current->next != NULL) {
prev = current;
current = current->next;
}
retval = current->val;
free(current);
if (prev)
prev->next = NULL;
else
*head = NULL;
return retval;
}
bool isEmpty(node_t **head) {
return *head == NULL;
}