mirror of
https://github.com/FizzyApple12/Waccon.git
synced 2026-10-06 22:08:00 +03:00
Initial commit with V1 hardware
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
#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;
|
||||
}
|
||||
Reference in New Issue
Block a user