栈可以说是一种特殊的链表,它的主要特点是先进后出,是一种重要的数据结构,广泛应用于我们的编程之中,例如多项式求值、平衡输入和方法的调用等。
实现代码如下所示:
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;
}
}
浙公网安备 33010602011771号