diff options
| author | Mikkel Thestrup <mithe24@student.sdu.dk> | 2025-12-01 11:00:18 +0100 |
|---|---|---|
| committer | Mikkel Thestrup <mithe24@student.sdu.dk> | 2025-12-01 11:50:22 +0100 |
| commit | e50e38edbc0df8e2ef46fcdc8498e29d4422afb7 (patch) | |
| tree | c570a9d4eac96f1acdce96ec76148f6aa90bd8d4 /src/vector.h | |
| parent | f1021bf0aa79d880fad4073635d4561d67152a9d (diff) | |
| download | cycle-detector-e50e38edbc0df8e2ef46fcdc8498e29d4422afb7.tar.gz cycle-detector-e50e38edbc0df8e2ef46fcdc8498e29d4422afb7.zip | |
Added vector implementation
Diffstat (limited to 'src/vector.h')
| -rw-r--r-- | src/vector.h | 26 |
1 files changed, 26 insertions, 0 deletions
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 <stddef.h> + +#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 |