COSC 072: Computer Science I

Project 4
Spring 2011

Due: Fri, Apr 15 @ 5 PM
10 points

This project involves implementing a List ADT using a doubly-linked list. To traverse the elements of the List, we will implement an iterator.

  1. The design of List<T> is inspired by the design of Java's LinkedList<T> and the design of ListIterator<E> is inspired by the design of Java's ListIterator<E>

  2. I did the dirty work of producing documentation for these two classes, which you can use as design documents: [ html | pdf ]. Also see list.txt and iterator.txt, which contain the public interfaces of my class definitions.

  3. Test your implementation of the List<T> class in main.cc. However, we will use our own main function to evaluate your classes. Consequently, you must not modify the class names or the public interfaces. This would also be an important consideration for any large-scale software project. Our main.cc will include only main.h, so put all necessary includes there. In general, you should not need to declare any additional public methods or data members.
Instructions for Electronic Submission:

At the top of the file main.cc (or the file containing the main function), place the following header comment, with the appropriate substitutions:

/*
 * COSC 072 Project 4
 * Name: <your name>
 * ID: <GoCard ID>
 * E-mail: <e-mail address>
 * Instructor: Maloof
 *
 * In accordance with the class policies and Georgetown's Honor Code,
 * I certify that, with the exceptions of the class resources and those
 * items noted below, I have neither given nor received any assistance
 * on this project.
 */

You'll be submitting p4 exactly like you submitted p3. The code for this assignment is p4, and you can submit using the command:

seva% java -jar submit.jar -a p4 -f p4.zip
If you need to include a message about your submission, then place the message in a file named README. Place the README file in the project's directory.