TP 9 exo2: Implement a merge sort function for the linked list.
[TD_C.git] / TP_9 / exo2 / clist.h
CommitLineData
f8051b35
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);
0d650b41
JB
13link_t* list_insert(link_t* head, unsigned index, int value);
14link_t* list_delete(link_t* head, unsigned index);
970a0122 15link_t* list_concat(link_t* first, link_t* second);
83ec54cd 16link_t* list_sort(link_t* head);
4a758ce5 17link_t* list_merge_sort(link_t* head);
f8051b35
JB
18unsigned list_count(link_t* head);
19void list_set(link_t* head, unsigned index, int value);
20int list_get(link_t* head, unsigned index);
83ec54cd
JB
21void list_clear(link_t* head);
22void list_display_values(link_t* head);
f8051b35
JB
23
24#endif /* CLIST_H */