标签:两栈-替代-队列
栈的特点是“先进后出”,队列的特点是“先进先出”;向队列中依次添加元素n、m,当删除时,先删除应该是n;向栈1中添加元素n、m,当要删除时,把栈1的元素添加到栈2中,元素n刚好位于栈顶,n就会被先删除,正好实现了队列的特点。代码如下,已测。
public class Queue {
private Stack<String> stackOne=new Stack<String>();
private Stack<String> stackTwo=new Stack<String>();
//添加元素
public void add(String str){
stackOne.push(str);
}
//删除元素
public void delete(){
if(stackTwo.isEmpty()){
while(!stackOne.isEmpty()){
stackTwo.push(stackOne.pop());
}
}
if(stackTwo.isEmpty()){//栈1和栈2都为空时候
System.out.println("queue is empty");
}
else{
stackTwo.pop();
}
}
}
标签:两栈-替代-队列
原文地址:http://blog.csdn.net/qq_16687803/article/details/46377285