内部类实现 LinkedStack

内部类实现 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 on stun!".split(" ")){
			lss.push(s);
		}
		String s;
		while((s=lss.pop())!=null){
			System.out.println(s);
		}
	}
}


你可能感兴趣的:(ThinkInJava,数据结构)