From c40cb17117e37f7d73e01c5b8ae8527703c5f183 Mon Sep 17 00:00:00 2001 From: Abivarman <abivarman.kandiah@etu.hesge.ch> Date: Thu, 24 Feb 2022 11:16:45 +0100 Subject: [PATCH] add print vector function --- header/vectors.h | 1 + src/test_vectors.c | 17 +++++++++++++++-- src/vectors.c | 8 ++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/header/vectors.h b/header/vectors.h index 10f6c41..629f278 100644 --- a/header/vectors.h +++ b/header/vectors.h @@ -29,5 +29,6 @@ type vector_remove(vector vec, int index); void vector_insert(vector vec, type element, int index); void vector_empty(vector vec); void vector_free(vector vec); +void vector_print(vector vec, void (*print)(type)); #endif \ No newline at end of file diff --git a/src/test_vectors.c b/src/test_vectors.c index 72816a2..96177cc 100644 --- a/src/test_vectors.c +++ b/src/test_vectors.c @@ -10,6 +10,8 @@ #include <stdint.h> #include "../header/vectors.h" +void print_type(type val); + int main() { //Test Vector create @@ -49,10 +51,21 @@ int main() vector_empty(test); printf("Empty Vector lenght : %d \n", vector_length(test)); - //Test Vector Free - vector_free(test); + //Test Vector Print + for (int i = 0; i < 6; i++) + { + vector_push(test, i); + } + vector_print(test, &print_type); + //Test Vector Free + vector_free(test); return 0; +} + +void print_type(type val) +{ + printf("%d \n", val); } \ No newline at end of file diff --git a/src/vectors.c b/src/vectors.c index bc18ac3..d732979 100644 --- a/src/vectors.c +++ b/src/vectors.c @@ -127,4 +127,12 @@ void vector_free(vector vec) { free(vec->content); free(vec); +} + +void vector_print(vector vec, void (*print)(type)) +{ + for (int i = 0; i < vec->length; i++) + { + print(vec->content[i]); + } } \ No newline at end of file -- GitLab