栈可以说是一种特殊的链表,它的主要特点是先进后出,是一种重要的数据结构,广泛应用于我们的编程之中,例如多项式求值、平衡输入和方法的调用等。
实现代码如下所示:
package com.suznhenxing; public class Stack { private int top=-1;//栈顶指针 private Object[] items;//栈中的数据 private int size=0; private int capacity=10; public Stack(){ items=new Object[capacity]; } public Object pop(){ Object o=null; if(top>-1){ o=items[top]; size--; top--; } return o; } public void push(Object o){//往栈中压入数据 if(capacity==size){ capacity*=2;//容量扩充一倍 Object[] newItems=new Object[capacity]; for(int i=0;i<size;i++){ newItems[i]=items[i]; } items=newItems; } items[top+1]=o; size++; top++; } public int size(){ return size; } }