TP 9 exo2: Add list_insert and list_delete linked list helpers
[TD_C.git] / TP_9 / exo2 / clist.h
1 #ifndef CLIST_H
2 #define CLIST_H
3
4 /** Linked list of int */
5 typedef struct link_s {
6 int value;
7 struct link_s* next;
8 } link_t;
9
10 link_t* list_new(int value);
11 link_t* list_append(link_t* head, int value);
12 link_t* list_prepend(link_t* head, int value);
13 link_t* list_insert(link_t* head, unsigned index, int value);
14 link_t* list_delete(link_t* head, unsigned index);
15 unsigned list_count(link_t* head);
16 void list_set(link_t* head, unsigned index, int value);
17 int list_get(link_t* head, unsigned index);
18 void list_clear(link_t* link);
19
20 #endif /* CLIST_H */