23 #ifndef OSURS_DS_LINKEDLIST_H_
24 #define OSURS_DS_LINKEDLIST_H_
void linked_list_free(LinkedList *list)
Free a LinkedList structure.
Definition: linkedlist.c:125
struct ListNode ListNode
Linked list node.
struct LinkedList LinkedList
Linked list.
void * linked_list_get_first(LinkedList *list)
Get the first element of a LinkedList.
Definition: linkedlist.c:105
void * linked_list_remove_first(LinkedList *list)
Remove the first element from a LinkedList.
Definition: linkedlist.c:67
void * linked_list_get_last(LinkedList *list)
Get the last element of a LinkedList.
Definition: linkedlist.c:112
void * linked_list_remove_last(LinkedList *list)
Remove the last element from a LinkedList.
Definition: linkedlist.c:86
void linked_list_init(LinkedList *list)
Initialize a LinkedList structure.
Definition: linkedlist.c:13
LinkedList * linked_list_create()
Create a new LinkedList structure.
Definition: linkedlist.c:19
void linked_list_add_last(LinkedList *list, void *data)
Add an element to the end of a LinkedList.
Definition: linkedlist.c:48
void linked_list_clear(LinkedList *list)
Clear all elements from a LinkedList.
Definition: linkedlist.c:119
void linked_list_add_first(LinkedList *list, void *data)
Add an element to the beginning of a LinkedList.
Definition: linkedlist.c:29
Linked list.
Definition: linkedlist.h:49
ListNode * tail
Definition: linkedlist.h:51
size_t size
Definition: linkedlist.h:52
ListNode * head
Definition: linkedlist.h:50
Linked list node.
Definition: linkedlist.h:35
void * data
Definition: linkedlist.h:38
struct ListNode * prev
Definition: linkedlist.h:36
struct ListNode * next
Definition: linkedlist.h:37