面试题7—相关题目(两个队列实现栈)
来源:互联网 发布:淘宝云标签网址 编辑:程序博客网 时间:2024/06/05 16:57
代码示例:
#include<iostream>#include<queue>using namespace std;//用两个队列模拟栈的操作class CStack{public:CStack(){}~CStack(){}void PushStack(int data);bool PopStack(int &temp);private:queue<int>q1;queue<int>q2;};void CStack::PushStack(int data){if (q1.empty() && q2.empty()){q1.push(data);return;}if (!q1.empty()){q1.push(data);return;}if (!q2.empty()){q2.push(data);return;}}bool CStack::PopStack(int &temp){if (!q1.empty()){while (!q1.empty()){temp = q1.front();if (q1.size()!=1)q2.push(temp);q1.pop();}return true;}if (!q2.empty()){while (!q2.empty()){temp = q2.front();if (q2.size()!=1)q1.push(temp);q2.pop();}return true;}return false;}void main(){CStack mystack;int a[5] = { 5, 6, 8, 90, 1 };for (int i = 0; i < 5; i++){mystack.PushStack(a[i]);}int topvalue = 0;for (int i = 0; i <5; i++){bool flag = mystack.PopStack(topvalue);if (flag){cout << "出栈:" << topvalue << endl;}}}
阅读全文
0 0
- 面试题7—相关题目(两个队列实现栈)
- 剑指offer面试题java实现之题7之相关题目:用两个队列实现一个栈
- 面试题7 两个栈实现队列
- 面试题7—用两个栈实现队列
- 两个栈实现队列 (面试题 7)
- 剑指Offer:面试题7——用两个栈实现队列(java实现)
- 面试题整理-两个栈实现队列
- 面试题-----两个栈实现一个队列
- 面试题 两个队列实现栈
- 两个栈实现一个队列——栈和队列面试题(2)
- 两个队列实现一个栈——栈和队列面试题(3)
- 剑指offer-面试题07-衍生题目:用两个队列实现栈
- 剑指offer-->面试题7 用两个栈实现队列
- 面试题7:用两个栈实现队列
- 面试题7:用两个队列实现栈
- 面试题7 用两个栈实现队列
- 【剑指offer】面试题7:两个栈实现队列
- 【剑指offer】面试题7:用两个栈实现队列
- 掌握Chrome的开发技巧 提高你的开发效率
- Exynos4412 Uboot 移植(一)—— Uboot 编译流程分析
- 第六章(5至6节) 彩色图像处理
- ES常用命令-------------随笔
- ISO8601时间转换
- 面试题7—相关题目(两个队列实现栈)
- 卷积神经网络(CNN)新手指南
- Spring
- 前端自动化构建入门1-什么是前端自动化?
- LeetCode 59. Spiral Matrix II 解题报告
- ajax创建及参数、优缺点分析
- 如何做个好员工
- swift常见的注释方式
- Linux下 环境变量/etc/profile、/etc/bashrc、~/.bashrc的区别