使用了之前实现栈时的接口
package zhan; public interface Stack<E>{ int getSize(); boolean isEmpty(); void push(E e); E pop(); E peek(); }
使用了上一个实现链表的代码 。太长不贴了。
链表栈:只要对链表的第一个数据进行操作,所以在链表实现的基础上是非常简单的。全部调用链表的方法就行
package zhan; import lianbiao.LinkedList; public class LinkedListStack<E> implements Stack<E>{ private LinkedList<E> list; public LinkedListStack(){ list = new LinkedList<>(); } public int getSize(){ return list.getSize(); } public boolean isEmpty(){ return list.isEmpty(); } public void push(E e){ list.addFirst(e); } public E pop(){ return list.removeFirst(); } public E peek(){ return list.getFirst(); } public String toString(){ StringBuilder res = new StringBuilder(); res.append("Stack:top "); res.append(list); return res.toString(); } public static void main(String[] args){ LinkedListStack<Integer> stack = new LinkedListStack<>(); for(int i = 0 ;i < 5;i++){ stack.push(i); System.out.println(stack); } } }