LinkedStack

public class LinkedStack {
    private static class Node {
        U item;
        Node next;
        Node() { item = null; next = null; }
        Node(U item, Node next) {
            this.item = item;
            this.next = next;
        }
        boolean end() { return item == null && next == null; }
    }
    private Node top = new Node();
    public void push(T item) {
        top = new Node(item, top);
    }
    public T pop(){
        T result = top.item;
        if(!top.end()){
            top = top.next;
        }
        return result;
    }
    public static void main(String[] args) {
        LinkedStack lss = new LinkedStack();
        for(String s : "Phasers or stun!".split(" ")){
            lss.push(s);
        }
        String s;
        while((s = lss.pop()) != null) {
            System.out.println(s);
        }
    }
}

 

你可能感兴趣的:(LinkedStack)