This assignment deals with the combination of dynamic memory allocation and structures to create a common data structure known as a doubly-linked list, which is shown in Figure 1.
Figure 1: Doubly-linked list in which each node contains three fields--pointers to the previous and next nodes in the list, and a single integer as data.
The boxes containing 'X' at the beginning and end of the list show that the first and last nodes have NULL pointers for their previous and next pointers, respectively. The pointers to the first and last nodes, which allow the list to be traversed in either direction, are not shown. The list you will implement is a sorted doubly-linked list in which the data stored in each node is a string, and the nodes are sorted in alphabetical order. You will complete four functions, which allow you to add or delete a node, find a node containing a given string, or print the entire contents of the list.
2. Deliverables This assignment uses multiple files, each of which is provided on the course web page: