36 lines
719 B
Java
36 lines
719 B
Java
package aud.exam.prep.tree;
|
|
|
|
import aud.exam.prep.array.Arrays;
|
|
|
|
@SuppressWarnings("ManualArrayCopy")
|
|
public class Stack<T> {
|
|
|
|
private int size = 0;
|
|
private T[] theStack = Arrays.newArray(10);
|
|
|
|
public void push(T t) {
|
|
while (size >= theStack.length) {
|
|
T[] newStack = Arrays.newArray(theStack.length * 2);
|
|
|
|
for (int i = 0; i < theStack.length; i++) {
|
|
newStack[i] = theStack[i];
|
|
}
|
|
|
|
theStack = newStack;
|
|
}
|
|
|
|
theStack[size++] = t;
|
|
}
|
|
|
|
public T peek() {
|
|
return theStack[size-1];
|
|
}
|
|
|
|
public T pop() {
|
|
return theStack[--size];
|
|
}
|
|
|
|
public boolean empty() {
|
|
return size == 0;
|
|
}
|
|
}
|