栈的Java实现相信很多大牛都已经实现了,我在这块仅仅记录
import java.util.*;
public class Stack {
private List<Object> data=new ArrayList();
private int count,length;
public Stack(int length){
this.count=length-1;
this.length=length;
for(int i=0;i<length;i++) data.add(null);
}
/**
* 出栈
*/
public Object pop(){
if(count+1==length){
int temp=count;
data.remove(temp);
count++;
return data.get(temp);
}else{
System.out.println("栈空,出栈失败");
return null;
}
}
/**
* 入栈
*/
public void push(Object data){
if(count+1>0){
this.data.set(count,data);
count--;
}else{
for(int i=length-1;i>0;i--)
this.data.set(i,this.data.get(i-1));
this.data.set(0,data);
}
}
public void show(){
for(Object a:data)
if(a!=null)
System.out.print(a.toString()+"\t");
}
}