/********** * linked_list.c * * a linked list in C. * * Jim Mahoney | cs.bennington.college | MIT License | March 2021 ******/ #include #include typedef struct _node *node; struct _node { int value; node next; }; node new_node(int value){ node n = malloc(sizeof(struct _node)); n->value = value; n->next = NULL; return n; } void free_node(node n){ free(n); } node array_to_nodes(int* values, int count){ int i; node root, previous, n; for (i=0; inext = n; } else { root = n; } previous = n; } return root; } void print_nodes(node n){ printf("["); while (n){ printf("%d, ", n->value); n = n->next; } printf("]\n"); } int main(){ int numbers[] = {1, 2, 3, 4}; node root = array_to_nodes(numbers, 4); print_nodes(root); return 0; }