From 4f0029531b546a1e13d4eddc7a1962695f9fff3d Mon Sep 17 00:00:00 2001 From: "ines.maya" <ines.maya@etu.hesge.ch> Date: Mon, 29 Nov 2021 14:19:34 +0100 Subject: [PATCH] eneleve tous ceux qui est pas fonction pop --- Makefile | 14 -------------- main.c | 20 -------------------- stack.c | 33 ++++++++++++--------------------- stack.h | 21 --------------------- 4 files changed, 12 insertions(+), 76 deletions(-) delete mode 100644 Makefile delete mode 100644 main.c delete mode 100644 stack.h diff --git a/Makefile b/Makefile deleted file mode 100644 index 8af5065..0000000 --- a/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -CC=gcc -CFLAGS=-Wall -Wextra -pedantic -g -std=c11 -O3 -CFLAGS_ASAN=-fsanitize=address -fno-omit-frame-pointer -LDFLAGS=-lm -LDFLAGS_ASAN=-fsanitize=address -fno-omit-frame-pointer - -main: stack.o main.o - $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS) $(LDFLAGS_ASAN) - -%.o: %.c - $(CC) $(CFLAGS) $(CFLAGS_ASAN) -c $^ -o $@ - -clean: - rm -f *.o main diff --git a/main.c b/main.c deleted file mode 100644 index 722dd95..0000000 --- a/main.c +++ /dev/null @@ -1,20 +0,0 @@ -#include "stack.h" - -int main(){ - stack s; - int value = 13; - stack_init(&s); - - s.top += 1; - s.data[s.top] = value; - - s.top += 1; - s.data[s.top] = value+1; - - stack_pop(&s, &value); - - free(s.data); - s.data = NULL; - s.capacity = -1; - s.top = -1; -} \ No newline at end of file diff --git a/stack.c b/stack.c index 8ccafcf..653cb8b 100644 --- a/stack.c +++ b/stack.c @@ -1,33 +1,24 @@ -#include "stack.h" +#include <stdio.h> +#include <stdlib.h> +#include <assert.h> +#include <stdbool.h> -void stack_init(stack *s){ - s->top = -1; - s->capacity = DEFAULT_CAPACITY; - s->data = malloc(sizeof(int) * DEFAULT_CAPACITY); -} +#define DEFAULT_CAPACITY 4 -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]; - } - printf("peek : value %d, top : %d\n", s.data[s.top],s.top); -} +typedef struct _stack { + int *data; + int capacity; + int top; +} stack; // depile void stack_pop(stack *s, int *value){ - if (stack_is_empty(*s)){ - return; - } + assert(s->top>=0 && "Stcak is empty\n"); if (s->top == s->capacity/4){ s->capacity /= 2; } *value = s->data[s->top]; - printf("pop : %d, top : %d\n", s->data[s->top],s->top); s->top -= 1; -} +} \ No newline at end of file diff --git a/stack.h b/stack.h deleted file mode 100644 index c727cea..0000000 --- a/stack.h +++ /dev/null @@ -1,21 +0,0 @@ -#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); - -void stack_pop(stack *s, int *value); - -#endif -- GitLab