四元式栈。
FourItemStack.java:
package per.eyuan.util;
public class FourItemStack {
private int top;
private FourItem fis[]=new FourItem[30];
public FourItemStack() {
super();
init();
}
public void init(){
for(int i=0;i<fis.length;i++)
fis[i]=new FourItem();
top=-1;
}
public int getLength(){
return top+1;
}
public void push(FourItem fi){
top++;
fis[top]=fi;
}
public FourItem pop(){
if(top==-1){
return null;
}else{
FourItem fi=fis[top];
top--;
return fi;
}
}
public FourItem getTop(){
if(top==-1){
return null;
}else{
return fis[top];
}
}
public FourItem[] getAll(){
//返回栈中所有元素
if(top==-1){
System.out.println("null,the stack is empty");
return null;
}else{
int i=0;
FourItem fiss[]=new FourItem[top+1];
for(int ii=0;ii<fiss.length;ii++){
fiss[ii]=new FourItem();
}
while(i<=top){
fiss[i]=fis[i];
i++;
}
return fiss;
}
}
}