Linked Lists
File IntList.java contains definitions
for a linked list of integers. The class contains an
inner class IntNode, which holds information for a
single node in the list (a node has a value and a reference to the
next node) and the following IntList methods:
- public IntList() -- constructor; creates an empty list of integers
- public void addToFront(int val) -- takes an integer and puts it on
the front of the list
- public void addToEnd(int val) -- takes an integer and puts it on
the end of the list
- public void removeFirst() -- removes the first value from the list
- public void print() -- prints the elements in the list from first to last
File IntListTest.java contains a driver
that allows you to experiment with these methods.
Save both of these files to your directory, compile and run IntListTest, and
play around with it to see how it works. Then add the following methods
to the IntList class. For each, add an option to the driver to test it.
- public int length() -- returns the number of elements in the list
- public String toString() -- returns a String containing the print value
of the list.
- public void removeLast() -- removes the last element of the list. If
the list is empty, does nothing.
- public void replace(int oldVal, int newVal) -- replaces all
occurrences of oldVal in the list with newVal. Note that you can still
use the old nodes; just replace the values stored in those nodes.