Closed Lists
and
Related Data Structures

closedLists
Open vs. Closed Lists
Purpose of Closed Lists
Closed List Implementation
An Empty Closed List
Possible Java implementation
How to Add and Remove Elements?
Some Typical Choices
Common Closed List Usages
Stack Abstraction
Stack Implementation (push)
Stack Implementation (pop)
Reading Code
containing References and Pointers
Figurative Code for Push/Pop
Push -> Shove
Queue Abstraction
Queue Implementation
Enqueue/Dequeue
Homework
Related Topics
Doubly-Linked Lists
Deque Abstraction
General Doubly-Linked Lists
Doubly-Linked Lists as an Implementation Concept
Doubly-Linked Lists as an Implementation Concept
Possible Abstractions for
Doubly-Linked Lists
Example: ListIterator
(in java.util)
Example, part 1
(complete source file)
Example (contŐd)
Example (contŐd)
Iterators as Interfaces
Review of Interfaces in Java
Interface vs. Implementation
Use of an Iterator
Recall Important Aspects of Interface Concept
Implication of second point
Reemphasis: Power of Interface
Value of Interfaces
Enumerations
Example: Enumerating a Vector
More Interface Examples with some Implementations (see Java API)
More Interface Examples with some Implementations