Question: For this assignment, you will write a multi-file C program to define implement and use a dynamic linked lists. Please refer to Lab 05 for

For this assignment, you will write a multi-file C program to define implement and use a dynamic linked lists. Please refer to Lab 05 for the definition of a basic linked list. In this assignment you will need to use the basic ideas of a node and of a linked list of nodes to implement a suit of functions which can be used to create and maintain two specific kinds of lists: 1. A list where all adds and removes occur at the start of the list (a Stack) 2. A list where all adds occur at the end of the list and removes the start of the list (a Queue) Requirements: You must write lists.c- given the following lists.h (which can not be modified): Il a recursive data type definition // serves as the nodes of a list typedef struct node { int id; char * name; struct node* next; } node; // create an empty list - set *node = NULL void create_list (node** head); // add a new node to the front of the list void add_front (node* *head, node* new_node); // add a new node to the end of the list void add_end (node* *head, node* new_node); // remove and return the node at the front of the list or NULL if empty node* rem_front (node* *head); // remove and return the node at the end of the list or NULL if empty node* rem_end (node* *head); // return the number of nodes in the list int list_len(const node* head); // print the data values of all the nodes in the list (from start to end) void print_list (const node* head); // free the entire list and set *node = NULL void free_list (node* *head); You must write main.c which tests your list implementations completely
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
