两个栈实现一个队列的加入、删除功能
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(); } } }
相关文章推荐
- 前端优化总结--编码习惯(一)
- 在ScrollView中嵌套ListView
- poj 1252 Euro Efficiency 正负完全背包
- iOS压缩图片
- 我的第一个随笔
- 【UVA 11078】BUPT 2015 newbie practice #2 div2-A -Open Credit System
- Android 下拉刷新 左右滑动 事件冲突
- mysql 8小时失效
- Selenium 1 (Remote Control)
- [置顶] Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)
- django foreignkey外键使用 相当于left join
- Spring中Bean的scope的singleton和prototype使用场景
- Docker学习总结(3)——Docker实战之入门以及Dockerfile(三)
- 神经网络浅讲:从神经元到深度学习
- Oracle 12c: RMAN restore/recover pluggable database
- 【java】:一个类如何引用别的类
- iOS core Data 详解-<2>多线程
- redmine 一键安装
- Centos 升级python
- Android AppWidget系统框架