40 lines
910 B
Java
40 lines
910 B
Java
public class LinkedStack implements Stack {
|
|
private LinkedList sll = new LinkedList();
|
|
|
|
@Override
|
|
public int size() {
|
|
return sll.getCount();
|
|
}
|
|
|
|
@Override
|
|
public boolean isEmpty() {
|
|
return sll.isEmpty();
|
|
}
|
|
|
|
@Override
|
|
public void push(Object item) throws StackFullException {
|
|
sll.addToHead(item);
|
|
}
|
|
|
|
@Override
|
|
public Object pop() throws StackEmptyException {
|
|
try {
|
|
Object item = sll.removeFromHead();
|
|
return item;
|
|
} catch (EmptyListException e) {
|
|
throw new StackEmptyException();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public Object top() throws StackEmptyException {
|
|
try {
|
|
Object item = sll.removeFromHead();
|
|
sll.addToHead(item);
|
|
return item;
|
|
} catch (EmptyListException e) {
|
|
throw new StackEmptyException();
|
|
}
|
|
}
|
|
}
|