From 99e13923235ee5fb03dfee93502b0a2c124f09f5 Mon Sep 17 00:00:00 2001 From: Abivarman <abivarman.kandiah@etu.hesge.ch> Date: Thu, 24 Feb 2022 11:07:03 +0100 Subject: [PATCH] Add Vector Empty --- header/vectors.h | 1 + src/test_vectors.c | 4 +++- src/vectors.c | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/header/vectors.h b/header/vectors.h index 029c4b3..3f2f874 100644 --- a/header/vectors.h +++ b/header/vectors.h @@ -27,5 +27,6 @@ void vector_set(vector vec, int index, type element); type vector_get(vector vec, int index); type vector_remove(vector vec, int index); void vector_insert(vector vec, type element, int index); +void vector_empty(vector vec); #endif \ No newline at end of file diff --git a/src/test_vectors.c b/src/test_vectors.c index 50676d2..038ee1f 100644 --- a/src/test_vectors.c +++ b/src/test_vectors.c @@ -46,7 +46,9 @@ int main() printf("New Value at index 3 and 4: %d, %d \n", vector_get(test, 3), vector_get(test, 4)); //Test Vector Empty - + vector_empty(test); + printf("Empty Vector lenght : %d \n", vector_length(test)); + return 0; } \ No newline at end of file diff --git a/src/vectors.c b/src/vectors.c index 403f49e..f786ea7 100644 --- a/src/vectors.c +++ b/src/vectors.c @@ -95,7 +95,6 @@ type vector_remove(vector vec, int index) return tmp; } - void vector_insert(vector vec, type element, int index) { assert(index < vec->length); @@ -108,4 +107,18 @@ void vector_insert(vector vec, type element, int index) } vec->content[index] = element; +} + +void vector_empty(vector vec) +{ + for (int i = 0; i < vec->length; i++) + { + vec->content[i] = 0; + } + + vec->capacity = VECTOR_INIT_CAPACITY; + vec->length = 0; + + vec->content = realloc(vec->content, sizeof(type) * vec->capacity); + assert(vec->content != NULL); } \ No newline at end of file -- GitLab