diff --git a/header/vectors.h b/header/vectors.h index 029c4b3ce78d8f365bb9917fc3a16c46928ea071..3f2f8749bc4305a8647b22f3823f7e4aa497dc12 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 50676d2813dd78c9ab326aa20899816ff176cd1d..038ee1f7a46d08652a676ca29a46796a6e80dc85 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 403f49e0cbc6bca2041e93b56dd8b80b291421ee..f786ea7f2977eef6b8e8f32ca7e442b41c591b96 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