public Stack() {
items = new E[INITSIZE];
numItems = 0;
}
public E pop() throws EmptyStackException { if (numItems == 0) throw new EmptyStackException(); else { numItems--; return items[numItems]; } }
OPERATION |
WORST-CASE TIME |
AVERAGE-CASE TIME |
constructor |
O(1) |
O(1) |
empty |
O(1) |
O(1) |
size |
O(1) |
O(1) |
push |
O(N) |
O(1) |
pop |
O(1) |
O(1) |
peek |
O(1) |
O(1) |
public void push(E ob) { items = new Listnode<E>(ob, items); numItems++; }
OPERATION |
WORST-CASE TIME |
constructor |
O(1) |
empty |
O(1) |
size |
O(1) |
push |
O(1) |
pop |
O(1) |
peek |
O(1) |
public static <E> void reverseQ(Queue<E> q) { // precondition: q contains x1 x2 ... xN (with x1 at the front) // postcondition: q contains xN ... x2 X1 (with xN at the front) Stack<E> s = new Stack<E>(); while (!q.empty()) s.push(q.dequeue()); while (!s.empty()) q.enqueue(s.pop()); }