From c9b6b9a5ca082fe7c1b6f58d7713f785a9eb6a5c Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:08:27 +0200 Subject: add: graphs et rushs --- graphs/piscine/stack/stack.c | 30 ++++++++++++++++++++++++++++++ graphs/piscine/stack/stack.h | 14 ++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 graphs/piscine/stack/stack.c create mode 100644 graphs/piscine/stack/stack.h (limited to 'graphs/piscine/stack') 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 + +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; +} diff --git a/graphs/piscine/stack/stack.h b/graphs/piscine/stack/stack.h new file mode 100644 index 0000000..bd5dd24 --- /dev/null +++ b/graphs/piscine/stack/stack.h @@ -0,0 +1,14 @@ +#ifndef STACK_H +#define STACK_H + +struct stack +{ + int data; + struct stack *next; +}; + +struct stack *stack_push(struct stack *s, int e); +struct stack *stack_pop(struct stack *s); +int stack_peek(struct stack *s); + +#endif /* !STACK_H */ -- cgit v1.2.3