From 2af9351db3aa97da9b0d3f23d53a593bc96c8a8e Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Fri, 2 Feb 2018 18:33:22 -0500 Subject: does potts now, no external libraries --- lib/stack.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 lib/stack.c (limited to 'lib/stack.c') diff --git a/lib/stack.c b/lib/stack.c new file mode 100644 index 0000000..9fde1e6 --- /dev/null +++ b/lib/stack.c @@ -0,0 +1,41 @@ + +#include "stack.h" + +void stack_push(ll_t **q, v_t x) { + ll_t *nq = malloc(sizeof(ll_t)); + nq->x = x; + nq->next = *q; + + *q = nq; +} + +void stack_push_d(dll_t **q, double x) { + dll_t *nq = malloc(sizeof(dll_t)); + nq->x = x; + nq->next = *q; + + *q = nq; +} + +v_t stack_pop(ll_t **q) { + ll_t *old_q = *q; + + *q = old_q->next; + v_t x = old_q->x; + + free(old_q); + + return x; +} + +double stack_pop_d(dll_t **q) { + dll_t *old_q = *q; + + *q = old_q->next; + double x = old_q->x; + + free(old_q); + + return x; +} + -- cgit v1.2.3-70-g09d2