001package components.list;
002
003import java.util.Iterator;
004import java.util.NoSuchElementException;
005
006/**
007 * {@code List} represented as a doubly linked list, done "bare-handed", with
008 * implementations of primary methods.
009 *
010 * <p>
011 * Execution-time performance of all methods implemented in this class is O(1).
012 * </p>
013 *
014 * @param <T>
015 *            type of {@code List} entries
016 * @convention <pre>
017 * $this.leftLength >= 0  and
018 * [$this.rightLength >= 0] and
019 * [$this.preStart is not null]  and
020 * [$this.lastLeft is not null]  and
021 * [$this.postFinish is not null]  and
022 * [$this.preStart points to the first node of a doubly linked list
023 *  containing ($this.leftLength + $this.rightLength + 2) nodes]  and
024 * [$this.lastLeft points to the ($this.leftLength + 1)-th node in
025 *  that doubly linked list]  and
026 * [$this.postFinish points to the last node in that doubly linked list]  and
027 * [for every node n in the doubly linked list of nodes, except the one
028 *  pointed to by $this.preStart, n.previous.next = n]  and
029 * [for every node n in the doubly linked list of nodes, except the one
030 *  pointed to by $this.postFinish, n.next.previous = n]
031 * </pre>
032 * @correspondence <pre>
033 * this =
034 *  ([data in nodes starting at $this.preStart.next and running through
035 *    $this.lastLeft],
036 *   [data in nodes starting at $this.lastLeft.next and running through
037 *    $this.postFinish.previous])
038 * </pre>
039 */
040public class List3<T> extends ListSecondary<T> {
041
042    /*
043     * 2221/2231 assignment code deleted.
044     */
045
046}