diff --git a/header/vectors.h b/header/vectors.h index 10f6c41ed73d7a9e8dcb539163d475095a8e1bd2..629f278c365f13a0a5d43eb7af457d86c43951a3 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 72816a24fd609f8c53ca99ad6f450c1d48c00f32..96177ccdcef69a8b520a0d308334ee299fcbfec0 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 bc18ac373d551cfc31c8d0be88ef3958454b2289..d732979f05de8099aa59c18546ec7f865aa8e156 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