Develop a single linked list data structure to support building of higher-level data structures. To build the linked list, you will need, at minimum, the following functions:

  • CreateListNoNodes - create list with no nodes, just a start pointer.
  • CreateListNode - create list with a single node. Data to fill the node is the precondition and must be passed as a parameter.
  • InsertFront - insert a node at the front of the list.
  • InsertMiddle - insert a node in the middle of the list. (Hint: use the data to know where to insert the node)
  • InsertEnd - insert a node at the end of the list.
  • DeleteFront - delete the first node in the list.
  • DeleteMiddle - delete a node in the middle of the list. (Hint: use the data to know where to delete the node)
  • DeleteEnd - delete a node at the end of the list.
  • Traverse - traverse the list based on some key value in the data portion of the node.
  • LookUpByIndex - find a particular node by an index number. Return -1 if that index does not exist.

The specifications for each of these functions will be given in the notes and online lectures. There must be a Node Struct containing data and a pointer. In this case, the data will be a Struct with the following data: First Name, Last Name, PUID and Age. You will need a start pointer to maintain the head of the list and a current pointer when traversing the list. Hint - think about the order to write the functions, as some are dependent on others!

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.