From 56f989db0c8112e41c7eefdafe7a8eef93445cf6 Mon Sep 17 00:00:00 2001
From: "ines.maya" <ines.maya@etu.hesge.ch>
Date: Sat, 27 Nov 2021 11:30:29 +0100
Subject: [PATCH] premiere version de pop, a verifier

---
 stack.c | 27 +++++++++++++++++++++++++++
 stack.h |  9 +++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 stack.c

diff --git a/stack.c b/stack.c
new file mode 100644
index 0000000..b5eaae2
--- /dev/null
+++ b/stack.c
@@ -0,0 +1,27 @@
+#include "stack.h"
+
+void stack_init(stack *s){
+    s->top = -1;
+    s->capacity = DEFAULT_CAPACITY;
+    s->data = malloc(sizeof(int) * DEFAULT_CAPACITY);
+}
+
+bool stack_is_empty(stack s){
+	return s.top == -1;
+}
+
+void stack_peek(stack s, int *value){
+    if (!stack_is_empty(s)) {
+        *value = s.data[s.top];
+    }
+}
+
+// depile
+void stack_pop(stack *s, int *val){
+	if (stack_is_empty(*s)){
+		return;
+	}
+	*val = s->data[s->top];
+	s->top -= 1;
+	printf("pop : %d, top : %d\n", s->data[s->top],s->top);
+}
diff --git a/stack.h b/stack.h
index 9796be5..3d09d4b 100644
--- a/stack.h
+++ b/stack.h
@@ -1,10 +1,19 @@
 #ifndef _STACK_H_
 #define _STACK_H_
 
+#include <stdio.h>
+#include <stdlib.h>
+#include "stdbool.h"
+
+#define DEFAULT_CAPACITY 4
+
 typedef struct _stack {
     int *data;
     int capacity;
     int top;
 } stack;
 
+void stack_init(stack *s);
+void stack_peek(stack s, int *value);
+
 #endif
-- 
GitLab