两个栈实现队列
来源:互联网 发布:拳皇97java源代码 编辑:程序博客网 时间:2024/05/16 13:38
题目
用两个栈来实现一个队列,完成队列的add和delete操作。 队列中的元素为int类型
分析
栈的数据结构特点:LIFO(Last Input First Output);队列数据结构特点:FIFO(First Input First Output)。要用两个栈实现队列思路:一个栈用于存储入队的数据即入队栈,另一个栈用于存储出队的数据即出队栈。当出队栈为空的时候,将入队栈数据复制到出队栈。
实现
import java.util.Stack;public class Queue { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new Stack<Integer>(); public void add(int node) { stack1.push(node); } public int delete() { if (stack2.empty()){ while (!stack1.empty()){ stack2.push(stack1.pop()); } } return stack2.pop(); }}
0 0
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个栈实现队列
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个 栈 实现队列
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个栈实现队列
- 两个队列实现栈
- 两个栈实现队列
- 两个栈实现队列
- 两个栈实现队列
- 队列--两个栈实现
- 两个队列实现栈
- codeforces round#323(div2 D)(思路)
- Substring with Concatenation of All Words字符串中找到包含所有单词的子串
- Linq多表合一查询
- iOS 面试题
- 封装一个素数方法,在使用散列表时需要预置大小,需要用到这个方法
- 两个栈实现队列
- HTML学习记录<七> :表单
- Android OpenGLES 实现结构
- symfony报错:Declaration of testAction::execute() must be compatible with sfComponent::execute($request
- android studio安装中遇到的问题(ubuntu)
- DirectX11 裁剪像素
- Set集合实现元素不重复原理
- IOS Android 手机助手原理以及源码(ios 设备自动识别 序列号获取)
- Js/Jquery获取iframe中的元素