(Suggested book reading: Programming Abstractions in C++, 12.2 - 12.3; 14.3)
Today we will use pointers and nodes to make a collection called a linked list. A linked list implements the operations of a list or vector by storing a 'front' pointer to the first node in a chain of linked node values.
To add or remove elements from a linked list, you must either modify its 'front' pointer, or modify the 'next' pointer of one of the existing nodes. For example, if you want to insert a new element at index 2, you must modify the 'next' pointer of the element in index 1, as shown in the figure below.
Linked lists can be very tricky to master, so we'll practice them over several lectures.
You are expected to follow the Stanford Honor Code.
If this is an assignment that allows pairs, the same rules apply to each team. For example, do not look at assignment solutions that do not belong to your team, and do not give your solution to anyone outside of your team.
Remember that we run similarity-detection software over all solutions, including this quarter and past quarters, as well as any solutions we find on the web.
If you need help solving an assignment, we are happy to help you. You can go to the LaIR, or the course message forum, or email your section leader, or visit the instructor / head TA during office hours. You can do it!