The purpose of list is to facilitate database related actions (insertion, deletion, search, etc.). The implementation of list may utilize various members (head, tail, current, length, etc.) From analytic point of view, It is important to understand the complexity (i.e. big O notation) of each action related to a particular data structure.
Furthermore, it is an excellent exercise for programmers to understand the link list operations by going through each implementation cases. We use a few functions as examples below.
Discussions:
The pseudo code presented in the above Doubly-Linked List insert front function has (at least) one bug. Can you figure it out? (note: I updated a bit... let's all figure out if it is correct)
The better question is how do you figure out the bug(s) above? What test cases would you do? How do you use Eclipse to help? Can you use Eclipse to "see" the linked list with no coding?
What if there is no length member in the doubly-linked list?
An example of forward linked list is discussed in StudentGradeDB exam. You may also want to note the difference of various approaches used.
The subpages below are notes and examples related to the linked list. Lab exercises are good practices too.