设计由两个栈组成的队列
来源:互联网 发布:玻璃破碎按钮 淘宝 编辑:程序博客网 时间:2024/04/30 08:19
//设计由两个栈组成的队列
//编写一个类,用两个栈实现队列,支持队列基本操作
//需要注意的是在是实现时TailSt不空时,不能对它Push操作,
#include <stack>
class myQueue
{
void Push(int x)
{
FrontSt.push(x);
}
int Top()
{
if (!TailSt.empty())
return TailSt.top();
else
{
while (!FrontSt.empty())
{
TailSt.push(FrontSt.top());
FrontSt.pop();
}
return TailSt.top();
}
}
void Pop()
{
if (TailSt.empty() && FrontSt.empty())
return;
if (TailSt.empty() && !FrontSt.empty())
{
while (!FrontSt.empty())
{
TailSt.push(FrontSt.top());
FrontSt.pop();
}
}
TailSt.pop();
}
private:
stack<int> FrontSt; //用于队尾
stack<int> TailSt; //用于队头
};
//编写一个类,用两个栈实现队列,支持队列基本操作
//需要注意的是在是实现时TailSt不空时,不能对它Push操作,
#include <stack>
class myQueue
{
void Push(int x)
{
FrontSt.push(x);
}
int Top()
{
if (!TailSt.empty())
return TailSt.top();
else
{
while (!FrontSt.empty())
{
TailSt.push(FrontSt.top());
FrontSt.pop();
}
return TailSt.top();
}
}
void Pop()
{
if (TailSt.empty() && FrontSt.empty())
return;
if (TailSt.empty() && !FrontSt.empty())
{
while (!FrontSt.empty())
{
TailSt.push(FrontSt.top());
FrontSt.pop();
}
}
TailSt.pop();
}
private:
stack<int> FrontSt; //用于队尾
stack<int> TailSt; //用于队头
};
0 0
- 设计由两个栈组成的队列
- 2.由两个栈组成的队列
- 由两个栈组成的队列
- 由两个栈组成的队列
- 由两个栈组成的队列
- 由两个栈组成的队列
- 由两个栈组成的队列
- 由两个栈组成的队列
- 由两个栈组成队列
- 栈和队列 由两个栈组成的队列
- 【WG面试算法】由两个栈组成的队列
- 1_2由两个栈组成的队列
- 【栈】由两个栈组成队列
- 1栈和队列--由两个栈组成队列
- 栈和队列---由两个栈组成队列
- 栈和队列(2)--由两个栈组成的队列
- 栈和队列——由两个栈组成的队列
- (一)栈和队列--由两个栈组成的队列 java实现
- 几种常用数据库的JDBC URL
- cvZero
- Toast的使用
- UITabelViewCell的数据混叠显示
- doPost()和doGet()
- 设计由两个栈组成的队列
- 面试笔试题记录
- 【UIKit-124-1】#import <UIKit/UIView.h>
- tomcat安装与配置,Eclipse集成与配置,首个程序发布
- 按钮应用(剪切,复制,粘贴)
- LintCode--买卖股票的最佳时机 II
- C++中POD类型
- Manacher算法求最长回文
- SQL 注入