用两个栈实现一个队列
来源:互联网 发布:seo搜索推广 编辑:程序博客网 时间:2024/05/23 23:26
题目
使用两个栈模拟实现一个队列的功能。
思路
栈是“先进后出(FILO)”,队列是“先进先出(FIFO)”。栈的操作见:http://blog.csdn.net/u010902721/article/details/45748547
其中一个栈stack1固定用为push使用,另一个栈stack2固定用作pop使用。当stack2为空的时候,就将stack1中的元素逐个出栈,直接push到stack2中。这样就可以执行pop操作了。
代码
class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty()){ while(!stack1.empty()){ stack2.push(stack1.top()); stack1.pop(); } } int t = stack2.top(); stack2.pop(); return t; }private: stack<int> stack1; stack<int> stack2;};
测试
测试的时候主要测元素从stack1向stack2转移的代码。push和pop操作交替执行,查看相应结果。经测试,上述代码没什么问题。
0 0
- 用两个栈实现队列 & 两个队列实现一个栈
- 两个栈实现队列&&用两个队列实现一个栈
- 用两个栈实现一个队列
- 用两个栈实现一个队列
- 用两个栈实现一个队列
- 用两个队列实现一个栈
- 用两个栈实现一个队列功能
- 用两个栈实现一个队列
- 用两个队列实现一个栈
- 用两个栈实现一个队列
- 用两个队列实现一个栈
- 用两个栈来实现一个队列
- 用两个栈实现一个队列功能
- 用两个队列实现一个栈
- 用两个队列实现一个栈
- 用两个栈实现一个队列
- 用两个栈实现一个队列
- 用两个栈实现一个队列
- Java程序性能优化
- [LeetCode]Add and Search Word - Data structure design,解题报告
- 第十一周项目2——(2)
- Win8下安装Numpy
- #One paper per week# Why We Twitter: Understanding Microblogging Usage and Communities
- 用两个栈实现一个队列
- Maven中的几个重要概念(二):lifecycle, phase and goal
- 面试题中自增自减类型题目的解题技巧
- UI组件:AlertView警告
- 类图
- 搬寝室(hdu-1421)
- android企业实战视频培训班
- Direct Buffer 尝试一下
- POJ 1009