From e50e38edbc0df8e2ef46fcdc8498e29d4422afb7 Mon Sep 17 00:00:00 2001 From: Mikkel Thestrup Date: Mon, 1 Dec 2025 11:00:18 +0100 Subject: Added vector implementation --- src/vector.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/vector.h (limited to 'src/vector.h') diff --git a/src/vector.h b/src/vector.h new file mode 100644 index 0000000..b329192 --- /dev/null +++ b/src/vector.h @@ -0,0 +1,26 @@ +#ifndef VECTOR_H +#define VECTOR_H + +#include + +#define INITAL_CAPACITY 10 +#define GROWTH_FACTOR 2 + +typedef struct Vector Vector; +struct Vector { + void **data; + size_t size; + size_t capacity; +}; + +Vector *vector_new(void); +void vector_delete(Vector *v); +void vector_push(Vector *v, void *element); +void *vector_pop(Vector *v); +void *vector_get(Vector *v, size_t index); +void vector_set(Vector *v, size_t index, void *element); +size_t vector_size(Vector *v); +int vector_is_empty(Vector *v); +void vector_clear(Vector *v); + +#endif // !VECTOR_H -- cgit v1.2.3-70-g09d2