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
最新推荐文章于 2019-01-04 14:32:00 发布
本文介绍了一个名为SetOfStacks的Java类实现,该类能够管理多个固定大小的整数堆栈。当一个堆栈填满时,会创建新的堆栈来继续存储数据。同时,也实现了在移除元素时清理空堆栈的功能。
553

被折叠的 条评论
为什么被折叠?



