1.
Allocate 4 list nodes on the heap containing the values 1, 2, 3, 4. Connect them in a linked list (in numerical order). Make a pointer to the first node called
start.
start.
removeStart function for the Simple Linked List. Make sure to delete the node from memory.
listSize function for the Simple Linked List. You should walk through the nodes and count them, then return the count.
insertAt function for the Simple Linked List. It should insert a new node at the specified index. You do not have to worry about bad indexes.
removeStart function for the Linked List (with size and tail). Make sure to consider the case where there is just a single node.
insertEnd from ExerciseΒ 27.17.6 to simplify your implementation. You may assume the list starts out as a valid empty list.
constructor for the Doubly Linked List. You need to create an empty list with dummy nodes for head and tail that are connected together.
ListNode<T>(T{})
removeEnd function for the Doubly Linked List. It should remove the node before the dummy tail node. You will have to add your constructor from ExerciseΒ 27.17.9.