#include ; typedef struct node { int info; struct node *link; } NODE; void insert_front(NODE **ptr, NODE *new_one); void print_list(NODE *ptr); void main(void) { NODE *front = NULL; NODE *new_one; /** gets the memory for new_node - a function to do this is needed get_memory(&new_one); **/ new_one = (NODE *)malloc(sizeof(NODE)); new_one->info = 1; new_one->link = NULL; /** front = new_one; if the list is empty, this actually puts the new node at the front of the list. **/ insert_front(&front, new_one); print_list(front); } /** This function currently only deals with the empty list **/ void insert_front(NODE **ptr, NODE *new_one) { if (*ptr == NULL) *ptr = new_one; else { /* set pointer field in new_one to the pointer field in the first node of the list set *ptr to new_one */ } } void print_list(NODE *start) { if (start == NULL) { printf("\nList is empty.\n"); } else { printf("\n"); while(start != NULL) { printf("%d ", start->info); start = start->link; } } }