import java.util.ArrayList;
import java.util.Random;
import java.util.Stack;
public class SetOfStcaks{
ArrayList< Stack<Integer> > stackContainer;
public SetOfStcaks(){
stackContainer=new ArrayList<Stack<Integer>>();
stackContainer.add(new Stack<Integer>());
}
public void push(int value){
Stack<Integer> lastStack=getLastStack();
if(lastStack!=null && lastStack.size()<=5){
lastStack.push(value);
}
else{
Stack<Integer> stack=new Stack<Integer>();
stack.push(value);
stackContainer.add(stack);
}
}
public Stack<Integer> getLastStack(){
return stackContainer.get(stackContainer.size()-1);
}
public Integer pop(){
Stack<Integer> lastStack=getLastStack();
int v=lastStack.pop();
if(lastStack.size()==0 && !stackContainer.isEmpty()){
stackContainer.remove(stackContainer.size()-1);
}
return v;
}
public static void main(String[] args) {
SetOfStcaks setOfStcaks=new SetOfStcaks();
for(int i=0;i<10;i++){
Random random=new Random();
int value=random.nextInt()%100;
setOfStcaks.push(value);
System.out.print(value+" ");
}
System.out.println();
for(int i=0;i<10;i++){
int n=setOfStcaks.pop();
System.out.print(n+" ");
}
System.out.println();
}
}
堆盘子SetOfStacks
最新推荐文章于 2022-07-23 12:12:21 发布