diff options
Diffstat (limited to 'graphs/piscine/stack/stack.c')
| -rw-r--r-- | graphs/piscine/stack/stack.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/graphs/piscine/stack/stack.c b/graphs/piscine/stack/stack.c new file mode 100644 index 0000000..0498abc --- /dev/null +++ b/graphs/piscine/stack/stack.c @@ -0,0 +1,30 @@ +#include "stack.h" + +#include <stdlib.h> + +struct stack *stack_push(struct stack *s, int e) +{ + struct stack *new = malloc(sizeof(struct stack)); + new->data = e; + new->next = NULL; + + new->next = s; + return new; +} + +struct stack *stack_pop(struct stack *s) +{ + if (s == NULL) + { + return NULL; + } + + struct stack *res = s->next; + free(s); + return res; +} + +int stack_peek(struct stack *s) +{ + return s->data; +} |
