aboutsummaryrefslogtreecommitdiff
path: root/src/vector.h
diff options
context:
space:
mode:
authorMikkel Thestrup <mithe24@student.sdu.dk>2025-12-01 11:00:18 +0100
committerMikkel Thestrup <mithe24@student.sdu.dk>2025-12-01 11:50:22 +0100
commite50e38edbc0df8e2ef46fcdc8498e29d4422afb7 (patch)
treec570a9d4eac96f1acdce96ec76148f6aa90bd8d4 /src/vector.h
parentf1021bf0aa79d880fad4073635d4561d67152a9d (diff)
downloadcycle-detector-e50e38edbc0df8e2ef46fcdc8498e29d4422afb7.tar.gz
cycle-detector-e50e38edbc0df8e2ef46fcdc8498e29d4422afb7.zip
Added vector implementation
Diffstat (limited to '')
-rw-r--r--src/vector.h26
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