package it.cast.stack;
import javax.management.RuntimeErrorException;
public class shareStack {
/**
* @param args
*/
private int top1;
private int top2;
private Object[] element;
private int stackSize;
public shareStack(int size){
element = new Object[size];
top1 = -1;
top2 = size;
stackSize = size;
}
public boolean push(int i, E e){
if(top2 == top1+1){
throw new RuntimeException("栈满"); //相当于抛出了
}
if(i==1){
top1++;
element[top1] = e;
return true;
}
if(i==2)
{
top2--;
element[top2] = e;
return true;
}
else{
throw new RuntimeException("输入错误");
}
}
public E pop(int i){
if(i ==1){
if(top1==-1){
throw new RuntimeException("栈1为空");
}
E e = (E)element[top1];
element[top1] = null;
top1--;
return e;
}
else if(i==2){
if(top2==stackSize){
throw new RuntimeException("2kong");
}
E e = (E)element[top1];
element[top2] = null;
top2++;
return e;
}
else{
throw new RuntimeException("输入错误");
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}