CSE 1302 Lab 9
Linked Lists – do Part A and Part B
Add the following cases:
case 5: list.length()
case 6 : SOP ( list);
case 7: list.removeLast()
case 8: list.replace(oldVal,newVal)
case 9: list.printRec()
case 10: list.printRecBkw()
Turn in final source and output. Use the following data:
First: try each of the methods you wrote with an empty list.
Second: add 1 element to the list and try each of your methods again.
Then using the following codes:
1: add 66 and 32 to front
2: add 55 and 24 to end
9: print list (with recursive method)
3: remove first
4: print list
10: print list backwards (with recursive method)
5: print length of list
6: print the list again with case 6 to test toString() method
7: remove last
1: add 66 again
4: print list
8: replace 66 with 999
4: print list
0: quit
Part A. A Linked List of Integers
File IntList.java contains definitions for a linked list of integers. The class contains an inner class IntNode that 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.
1. public int length()—returns the number of elements in the list
2. public String toString()—returns a String containing the print value of the list.
3. public void removeLast()—removes the last element of the list. If the list is empty, does nothing.
4. 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.