Files
advent-of-code-2023/array_list.c

30 lines
676 B
C

//
// Created by Lennart on 02/12/2023.
//
#include <stdlib.h>
#include "array_list.h"
array_list* alist_create(int capacity) {
array_list *alist = malloc(sizeof (struct array_list_struct));
alist->data = malloc(sizeof (ELEMENT_TYPE) * capacity);
alist->capacity = capacity;
alist->length = 0;
return alist;
}
void alist_add(array_list *alist, ELEMENT_TYPE entry) {
if(alist->length >= alist->capacity) {
alist->data = realloc(alist->data, alist->capacity * 2);
alist->capacity = alist->capacity * 2;
}
alist->data[alist->length++] = entry;
}
void alist_free(array_list *alist) {
free(alist->data);
free(alist);
}