void insert(Element o) int find(Element o) Element elementAt(int index) int length() void remove(Element o) void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)
void insert(Element o) // typically adds to the end int find(Element o) // typically requires sequential (linear) search void remove(Element o) // must maintain order Element elementAt(int index) int length() void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)
void insert(Element o) // adds to the end int find(Element o) // uses sequential (linear) search void remove(Element o) // must maintain order, involves "crunch up" Element elementAt(int index) // uses array indexing int length() void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)
void insert(Element o) // typically adds to the end, use tail pointer int find(Element o) // must use sequential (linear) search void remove(Element o) // recursion or previous-node pointer Element elementAt(int index) // must count nodes int length() // must count nodes or keep integer count void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)
void insert(Element o) int find(Element o) Element elementAt(int index) int length() void remove(Element o) void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)
void insert(Element o) // must find position, shift-down, then insert int find(Element o) // may use Binary Search in an array Element elementAt(int index) // uses array indexing int length() // stored in data member 'length' void remove(Element o) // must find element, then shift-up void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)
void insert(Element o) // find position, insert node, using 'prev' ptr int find(Element o) // must use sequential search, but may stop early Element elementAt(int index) // must count int length() // must count void remove(Element o) // must maintain order, previous-pointer void expunge() boolean isEmpty() boolean isFull() void print(ostream & out)