您的位置:首页 > 其它

两个栈实现一个队列的加入、删除功能

2016-01-05 16:26 537 查看
栈的特点是“先进后出”,队列的特点是“先进先出”;向队列中依次加入元素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();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: