Data Structures UFC
1.0.0
Essential Data Structures for C language
|
Go to the source code of this file.
Data Structures | |
struct | ListNode |
Typedefs | |
typedef struct ListNode | List |
Functions | |
List * | list_create (void) |
create a new list instance More... | |
List * | list_insert (List *l, int data) |
Insert a new element on the beginning of the list. More... | |
List * | list_append (List *l, int data) |
Insert a new element on the end of the list. More... | |
List * | list_insert_ord (List *l, int data) |
Ordered insert of a new element in the list. More... | |
List * | list_search (List *l, int data) |
Search on the list by data and return the node which contains it. More... | |
void | list_print (List *l) |
Print the list without a new line. More... | |
void | list_println (List *l) |
Print the list with a new line. More... | |
void | list_print_reverse (List *l) |
Print the list reversed without a new line. More... | |
void | list_println_reverse (List *l) |
Print the list reversed with a new line. More... | |
List * | list_remove (List *l, int data) |
Remove specific element from List. More... | |
void | list_free (List *l) |
Free memory of List and its nodes. More... | |
int | list_empty (List *l) |
Verify if the list is empty. More... | |
int | list_equal (List *l_x, List *l_y) |
Check if two lists are equal. More... | |
int | list_perfect (List *l) |
Return the count of perfect numbers on list. More... | |
int | list_length (List *l) |
Return the length of the list. More... | |
int | list_less_than (List *l, int n) |
Return the number of numbers less n . More... | |
int | list_sum (List *l) |
Return the sum of numbers on the list. More... | |
List * | list_copy (List *l) |
Create a copy of the list l. More... | |
List * | list_concat (List *l_x, List *l_y) |
Return a concatenation of the two lists as a new list. More... | |
List * | list_init (int size_list,...) |
Create a list based on its variadic arguments. More... | |
int | list_last (List *l) |
Get the data from last element. More... | |
int | list_head (List *l) |
Get the data from the first element. More... | |
List * | list_tail (List *l) |
Get the tail of the list. More... | |
int | list_pop_head (List **l) |
Get and pop the head of the list. More... | |
int | list_pop_last (List **l) |
Get and pop the last element of the list. More... | |
void | list_reverse (List **l) |
Reverse a list (no creating a new) WARNING: side-effects. More... | |
int | list__is_perfect_number (int n) |
Check if a given number is perfect. More... | |
List * | list__new_node (int data) |
Create a new node for the list. More... | |
int list__is_perfect_number | ( | int | n | ) |
Check if a given number is perfect.
List* list__new_node | ( | int | data | ) |
Create a new node for the list.
Insert a new element on the end of the list.
l | List to insert data on |
data | integer value to insert on |
List* list_create | ( | void | ) |
create a new list instance
int list_empty | ( | List * | l | ) |
Verify if the list is empty.
void list_free | ( | List * | l | ) |
Free memory of List and its nodes.
int list_head | ( | List * | l | ) |
Get the data from the first element.
List* list_init | ( | int | size_list, |
... | |||
) |
Create a list based on its variadic arguments.
size_list | number of paramaters passed to the function |
Insert a new element on the beginning of the list.
l | List to insert data on |
data | integer value to insert on |
Ordered insert of a new element in the list.
l | List to insert data on |
data | integer value to insert on |
int list_last | ( | List * | l | ) |
Get the data from last element.
int list_length | ( | List * | l | ) |
Return the length of the list.
int list_less_than | ( | List * | l, |
int | n | ||
) |
Return the number of numbers less n
.
int list_perfect | ( | List * | l | ) |
Return the count of perfect numbers on list.
int list_pop_head | ( | List ** | l | ) |
Get and pop the head of the list.
int list_pop_last | ( | List ** | l | ) |
Get and pop the last element of the list.
void list_print | ( | List * | l | ) |
Print the list without a new line.
l | the list to print |
void list_print_reverse | ( | List * | l | ) |
Print the list reversed without a new line.
l | the list to print |
void list_println | ( | List * | l | ) |
Print the list with a new line.
l | the list to print |
void list_println_reverse | ( | List * | l | ) |
Print the list reversed with a new line.
l | the list to print |
Remove specific element from List.
l | List to insert data on |
data | integer value to remove |
data
void list_reverse | ( | List ** | l | ) |
Reverse a list (no creating a new) WARNING: side-effects.
Search on the list by data and return the node which contains it.
l | List to insert data on |
data | integer value to search on |
int list_sum | ( | List * | l | ) |
Return the sum of numbers on the list.