1
1
mirror of https://github.com/theoludwig/libcproject.git synced 2024-11-14 16:03:13 +01:00
libcproject/lib/linked_list.h

31 lines
687 B
C
Raw Normal View History

2023-01-05 19:28:05 +01:00
#ifndef __LINKED_LIST__
#define __LINKED_LIST__
#include <stdlib.h>
struct linked_list {
// first node of the list
struct linked_list_node *head;
size_t length;
};
struct linked_list_node {
void *data;
struct linked_list_node *next;
};
struct linked_list *linked_list_initialization();
struct linked_list_node *linked_list_add_in_head(struct linked_list *list, void *new_value);
void linked_list_delete_in_head(struct linked_list *list);
struct linked_list_node *linked_list_add_after_last(struct linked_list *list, void *new_data);
struct linked_list *linked_list_reverse(struct linked_list *list);
void linked_list_reverse_mutate(struct linked_list *list);
#endif