From af93edd8433634d82e855e9c9bcbca249a476977 Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 13 Dec 2021 21:16:54 +0100 Subject: refactor: clean code --- stack.c | 57 --------------------------------------------------------- 1 file changed, 57 deletions(-) delete mode 100644 stack.c (limited to 'stack.c') diff --git a/stack.c b/stack.c deleted file mode 100644 index de5807c..0000000 --- a/stack.c +++ /dev/null @@ -1,57 +0,0 @@ -#include "stack.h" -#include -#include - -// Error handler for stack errors -void stack_error(int id) -{ - switch (id) - { - case 0: - printf("Error: Stack overflow\nBe kind and report this problem."); - break; - case 1: - printf("Error: Stack underflow\nBe kind and report this problem."); - break; - } - exit(1); -} - -// Creates a new stack -struct stack *create_stack(int capacity) -{ - struct stack *pt = (struct stack *)malloc(sizeof(struct stack)); - pt->max_size = capacity; - pt->top = -1; - pt->items = (int *)malloc(sizeof(int) * capacity); - return pt; -} - -// Adds a new item to a stack -void stack_push(struct stack *pt, int x) -{ - // Avoid a overflow by checking if the stack is full - if (pt->top == pt->max_size - 1) - stack_error(0); - // Add an element and increase the top index - pt->items[++pt->top] = x; -} - -// Returns the topmost item of a stack -int stack_peek(struct stack *pt) -{ - // Check if the stack is empty - if (pt->top == -1) - stack_error(1); - return pt->items[pt->top]; -} - -// Deletes the topmost item of a stack -int stack_pop(struct stack *pt) -{ - // Check for a stack underflow - if (pt->top == -1) - stack_error(0); - // Decrease the stack size by 1 and (optionally) return the popped element - return pt->items[pt->top--]; -} \ No newline at end of file -- cgit v1.2.3-18-g5258