Commit | Line | Data |
---|---|---|
a5a96953 JB |
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 | link_t* list_concat(link_t* first, link_t* second); | |
16 | link_t* list_sort(link_t* head); | |
17 | link_t* list_merge_sort(link_t* head); | |
18 | unsigned list_count(link_t* head); | |
19 | void list_set(link_t* head, unsigned index, int value); | |
20 | int list_get(link_t* head, unsigned index); | |
21 | void list_clear(link_t* head); | |
22 | void list_display_values(link_t* head); | |
23 | ||
24 | #endif /* CLIST_H */ |