算法开始之路-栈和列的应用
2015-12-10 16:51
323 查看
用两个栈来实现一个队列,完成队列的Push和Pop操作。队列中的元素为int类型。
class Solution
{
public:
void push(int node) {
//把数据加入到栈1的顶部
stack1.push(node);
}
//实现队列的删除栈顶元素
//实现方式就是把元素加入到一个栈中,根据栈的性质陷入后出的,把Stack1的元素输出然后加入到
//Stack2中,在输出就可以实现队列的先入先出的情况
int pop() {
if(stack2.empty())
{
while(!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
int result = stack2.top();
stack2.pop();
return result;
}
private:
stack<int> stack1;
stack<int> stack2;
};
class Solution
{
public:
void push(int node) {
//把数据加入到栈1的顶部
stack1.push(node);
}
//实现队列的删除栈顶元素
//实现方式就是把元素加入到一个栈中,根据栈的性质陷入后出的,把Stack1的元素输出然后加入到
//Stack2中,在输出就可以实现队列的先入先出的情况
int pop() {
if(stack2.empty())
{
while(!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
int result = stack2.top();
stack2.pop();
return result;
}
private:
stack<int> stack1;
stack<int> stack2;
};
相关文章推荐
- BlueTooth: 蓝牙协议栈实现模式分析
- My97DatePicker日历控件日报、每周和每月的选择
- 【SSH快速进阶】——Hibernate一对一映射(one-to-one)——主键关联映射
- 采购单入库操作
- watch os 语音输入
- php webp转jpg
- OCJP标准题库试题之————第二次
- Android selector 失效
- shell之cut
- Android的线程和线程池
- Mybatis 教程
- Linux(Centos)之安装Redis及注意事项
- XAML基础(一)
- 在局域网络内的某台主机用ping命令测试网络连接时发现网络内部的主机都可以连同,而不能与公网连通,问题可能是
- 校验业务与主逻辑解耦设计探讨与实践(AOP篇)
- Linux学习笔记(二十二、管道符)
- Easy UI Combotree选中项样式问题的hack
- 在Ubuntu下解决 adb devices :???????????? no permissions 方法
- 端口映射,数据转发工具
- [Andriod官方API指南]连接之蓝牙