CSSE 220: Day 17
Topics
- Iterators
- Recursion in linked lists
Outline
- [20 min] Converting iterative methods to recursive methods.
- [10 min] Inner classes.
- [20 min] Iterators
- [5 min] Break
- [50 min] Implement a doubly linked list. Maintain a sorted order
of the elements in the linked list. Implement LinkedList and
Node classes. Make the Node class an innner
class. Implement recursive boolean insert(E element), E
find(E element) and boolean remove(E element)
methods. Insert returns true if the element was successfully inserted
and false otherwise. Find returns the element or null if it does not
occur in the linked list. Remove returns true if the element was
successfully removed and false otherwise. Implement an
iterator method which constructs and returns an iterator. In
this context, create a LinkedListIterator class and make it a
nested class. Implement the following support methods: int
size(), which returns the number of elements in the linked list,
boolean isEmpty(), which returns true if the list is empty
and false otherwise, String toString(), which returns a
string representation of the list, boolean
equals(LinkedList l), which returns true if the elements of l
are equal to those of the linked list and false otherwise and
LinkedList clone(), which returns a copy of the linked list.
Resources
Assignments
- Day 18, BC: Read sections 15.3 - 15.4. There will be a readings
quizz.
- Day 18, BC: Complete the exercise begun in class. Turn it in to
the appropriate drop-box on Angel.