如何使用堆栈实现队列
来源:互联网 发布:手机mac地址查询 编辑:程序博客网 时间:2024/06/05 04:44
Problem
How to use two stacks to implement a queue
Solution
It is simple, just serialize two stacks
#include <iostream>#include <stack>using namespace std;stack<int> s1;stack<int> s2;bool que_add(int value){ int v; s1.push(value); return true;}bool que_remove(int &value){ int v; if(!s2.empty()){ value = s2.top(); s2.pop(); return true; } while(!s1.empty()){ v = s1.top(); s1.pop(); s2.push(v); } if(s2.empty()) return false; value = s2.top(); s2.pop(); return true;}bool que_peek(int &value){ int v; while(!s1.empty()){ v = s2.top(); s2.pop(); s1.push(v); } if(s2.empty()) return false; value = s2.top(); return true;}bool que_empty(){ return (s1.empty() && s2.empty()) ? true : false;}int main(int argc, char* argv[]){ que_add(1); que_add(2); que_add(3); que_add(4); int v; while(!que_empty()){ que_remove(v); cout << v << endl; } return 0;}
- 如何使用堆栈实现队列
- 使用两个堆栈实现队列功能
- 使用数组实现堆栈和队列
- PHP使用数组实现堆栈和队列
- 使用堆栈(Stack)模拟实现队列(FIFO)
- 堆栈,队列的实现
- 用堆栈实现队列
- LinkedList实现堆栈、队列
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- Java 使用LinkedList实现堆栈、队列的效果
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 算法面试题:使用两个堆栈实现一个队列
- 使用JavaScript的数组实现数据结构中的队列与堆栈
- 两个堆栈实现队列,两个队列实现堆栈
- 堆栈和队列的实现
- Java 实现堆栈和队列
- 用两个堆栈实现队列
- 栈和堆的区别
- 数据库原理测试(二)
- 杰出人士的六个好习惯
- 安卓 Alarm细分析
- Redis在新浪的大规模运维经验
- 如何使用堆栈实现队列
- LINUX时间管理
- hdu1281【网络流】
- Oracle知识管理解决方案介绍
- Android手机 Fildder真机抓包
- “VB.NET登录例子”你学到了什么?
- 微博特征与行为的大数据挖掘分析
- dwz多层弹出框刷新问题
- mysql基本简单操作