refactor: executable per day

This commit is contained in:
2023-12-02 15:26:59 +01:00
parent 9655351a96
commit e1a8ee290f
6 changed files with 32 additions and 67 deletions

View File

@@ -23,3 +23,30 @@ void alist_free(array_list *alist);
#define ADVENT_OF_CODE_2023_ARRAY_LIST_H
#endif //ADVENT_OF_CODE_2023_ARRAY_LIST_H
//#define ARRAY_LIST_IMPLEMENTATION
#ifdef ARRAY_LIST_IMPLEMENTATION
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);
}
#endif //ARRAY_LIST_IMPLEMENTATION