public class stack implements StackI { private listnode head=null; public void push(A n) { head = new listnode(n, head); } public A pop() { A v = head.val; head = head.next; return v; } public boolean isempty() { return head==null; } public String toString() { String s=""; for (listnode n=head; n!=null; n = n.next) s = n.val+" "+s; return s; } private class listnode { private A val; private listnode next=null; listnode(A v, listnode l) { val = v; next = l; } } }