设计:
1、创建Node节点类(存储链表的前节点和本节点存储的元素)
2、节点存储的是泛型数据
3、创建一个栈的接口----定义如下函数:
4、接口实现类(栈顶元素指针和链表元素计数器)
代码实现:
接口类:StackADT
public interface StackADT <T> {
/**
* 压栈
* @param t
*/
public void push(T t);
/**
* 弹栈
* 弹出栈顶元素,并移除
* @return
* @throws EmptyCollectionException
*/
public T pop() throws EmptyCollectionException;
/**
* 弹出栈顶元素不移除
* @return
* @throws EmptyCollectionException
*/
public T peek() throws EmptyCollectionException;
/**
* 判断栈是否为空
* @return
*/
public boolean isEmpty();
/**
* 栈当前存储的大小
* @return
*/
public int size();
public String toString();
}
Node节点类