1#pragma once
2#include <stdlib.h>
3
4#define LIST_SIZE_FACTOR 1.5
5struct list
6{
7 unsigned int size;
8 unsigned int allocated_size;
9 void** list;
10};
11
12typedef struct list LIST;
13
14/**
15* Add an item to a list
16* @list: array list structure.
17* @item: item to be added to the list.
18*/
19LIST* list_add(LIST* list, void* item);
20
21/**
22* Remove an item from a given list
23* @list: array list structure.
24* @pos: position of item to be removed.
25*/
26LIST *list_remove(LIST *list, unsigned int pos);
27
28void list_free(LIST* list);
29
30void *list_get(LIST *list, unsigned int index);