Append Operation
- Trace the basic operations of a (singly) linked-list implementation.
- Understand the basic operations of a (singly) linked list well enough to implement them.
Suppose we have the following linked list and we want to append (add to the end) a new node.
Exercise Complete the implementation of the addLast
method that creates a node and add it to the back of the list.
public void addLast(T t) {
// TODO Implement me!
}
Hint: Use the following visualization as guidance.
Solution
public void addLast(T t) {
Node<T> tail = head;
while (tail.next != null) {
tail = tail.next;
}
tail.next = new Node<T>(t);
}
If you count the number of nodes in the linked list, you can also write this with a counter-controlled loop. In that case, the find
helper method from when we implemented get
can be used here to go to the last element.
Caution: the implementation above fails to account for an edge case!