From 97628ebac511e3cb9d19921471bbedf180ba4025 Mon Sep 17 00:00:00 2001 From: mo khan Date: Wed, 5 Aug 2020 21:30:37 -0600 Subject: Start to build a stack --- src/02/05/stack.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/02/05/stack.c (limited to 'src/02/05/stack.c') diff --git a/src/02/05/stack.c b/src/02/05/stack.c new file mode 100644 index 0000000..18a344a --- /dev/null +++ b/src/02/05/stack.c @@ -0,0 +1,29 @@ +#include "stack.h" +#include + +Node *node_init(int data) { + Node *node = malloc(sizeof(Node)); + node->next = NULL; + node->data = data; + return node; +} + +Stack *stack_init(int data) { + Stack *stack = malloc(sizeof(Stack)); + stack->head = node_init(data); + return stack; +} + +int stack_size(Stack *self) { + if (!self || !self->head) + return 0; + + int count; + Node *current = self->head; + while (current) { + ++count; + current = current->next; + } + + return count; +} -- cgit v1.2.3