From 7221289477ba80bfbb9c2c37e43a9d6b1d0e6d17 Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Sun, 10 Apr 2022 09:01:17 +0200 Subject: feat: rename files --- src/stack.c | 110 ------------------------------------------------------------ 1 file changed, 110 deletions(-) delete mode 100644 src/stack.c (limited to 'src/stack.c') diff --git a/src/stack.c b/src/stack.c deleted file mode 100644 index 48b9eba..0000000 --- a/src/stack.c +++ /dev/null @@ -1,110 +0,0 @@ -/* Standard C */ -#include -#include -#include - -/* Project */ -#include "util.h" - -/* --8<-- stack_type */ -typedef int T; - -struct stack_item { - struct stack_item *next; - T data; -}; - -struct stack { - struct stack_item *head; -}; -/* -->8-- */ - -/* --8<-- stack_init */ -void -stack_init(struct stack *stack) -{ - stack->head = NULL; -} -/* -->8-- */ - -/* --8<-- stack_push */ -void -stack_push(struct stack *stack, T data) -{ - struct stack_item *new_item; - - if ( (new_item = malloc(sizeof *new_item)) != NULL ) { - new_item->data = data; - new_item->next = stack->head; - stack->head = new_item; - } - else - ERROR("out of memory"); -} -/* -->8-- */ - -/* --8<-- stack_pop */ -bool -stack_pop(struct stack *stack, T *data) -{ - if ( stack->head ) { - struct stack_item *next = stack->head->next; - - if ( data ) { - *data = stack->head->data; - } - free(stack->head); - stack->head = next; - - return true; - } - else - return false; -} -/* -->8-- */ - -/* --8<-- stack_empty */ -bool -stack_empty(struct stack *stack) -{ - return stack->head == NULL; -} -/* -->8-- */ - -/* --8<-- stack_free */ -void -stack_free(struct stack *stack) -{ - struct stack_item *item, *next; - - for ( item = stack->head; item; item = next ) { - next = item->next; - free(item); - } -} -/* -->8-- */ - -int -main() -{ - struct stack stack[1]; - - stack_init(stack); - - for ( int i = 0; i != 10; ++i ) - stack_push(stack, i); - - /* - while ( !stack_empty(stack) ) { - int i; - if ( stack_pop(stack, &i) ) - printf("%d\n", i); - else - ERROR("this shouldn't happen!"); - } - */ - - stack_free(stack); - - return EXIT_SUCCESS; -} -- cgit v1.3