30 lines
676 B
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);
|
|
}
|