TP 11 exo2: Reorganize the directories structure to make use of the
[TD_C.git] / TP_11 / exo2 / lib / clist.h
CommitLineData
a5a96953
JB
1#ifndef CLIST_H
2#define CLIST_H
3
4/** Linked list of int */
5typedef struct link_s {
6 int value;
7 struct link_s* next;
8} link_t;
9
10link_t* list_new(int value);
11link_t* list_append(link_t* head, int value);
12link_t* list_prepend(link_t* head, int value);
13link_t* list_insert(link_t* head, unsigned index, int value);
14link_t* list_delete(link_t* head, unsigned index);
15link_t* list_concat(link_t* first, link_t* second);
16link_t* list_sort(link_t* head);
17link_t* list_merge_sort(link_t* head);
18unsigned list_count(link_t* head);
19void list_set(link_t* head, unsigned index, int value);
20int list_get(link_t* head, unsigned index);
21void list_clear(link_t* head);
22void list_display_values(link_t* head);
23
24#endif /* CLIST_H */