Implement Stack using Queues
来源:互联网 发布:普通话转粤语软件 编辑:程序博客网 时间:2024/05/22 13:51
Implement the following operations of a stack using queues.
- push(x) -- Push element x onto stack.
- pop() -- Removes the element on top of the stack.
- top() -- Get the top element.
- empty() -- Return whether the stack is empty.
- You must use only standard operations of a queue -- which means only
push to back
,peek/pop from front
,size
, andis empty
operations are valid. - Depending on your language, queue may not be supported natively. You may simulate a queue by using a list or deque (double-ended queue), as long as you use only standard operations of a queue.
- You may assume that all operations are valid (for example, no pop or top operations will be called on an empty stack).
class Stack {public: queue<int> queue1; queue<int> queue2; // Push element x onto stack. void push(int x) { if(queue1.empty()){ queue1.push(x); while(!queue2.empty()){ queue1.push(queue2.front()); queue2.pop(); } }else{ queue2.push(x); while(!queue1.empty()){ queue2.push(queue1.front()); queue1.pop(); } } } // Removes the element on top of the stack. void pop() { if(!queue1.empty()){ queue1.pop(); }else{ queue2.pop(); } } // Get the top element. int top() { if(!queue1.empty()){ return queue1.front(); }else{ return queue2.front(); } } // Return whether the stack is empty. bool empty() { if(queue1.empty() && queue2.empty()){ return true; }else{ return false; } }};
0 0
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- Implement Stack using Queues
- JQuery EasyUI DataGrid动态合并单元格
- Mac下的SVN安装
- 第一讲:跨终端Web解决方案(学习笔记)
- LVS集群中的IP负载均衡技术
- AndroidGroup的使用
- Implement Stack using Queues
- 《Android源码设计模式解析与实战》读书笔记(四)
- leetcode -- Merge k Sorted Lists -- 重点有trick
- LINUX 常见问题1000个详细解答
- OWIN博客文章整理
- 在Ubuntu 下安装和配置xampp
- mybatis批量操作
- 面试中的智力题及编程实践
- 使用UICollectionView和UITableView混合布局,完成简单天气demo