现在的位置: 主页 > 联系方式 > 文章正文

笔试题:用两个栈实现队列

作者:武警河南洛阳红丝带网 来源:www.027fck.com 未知发布时间:2017-09-07 13:21:13
笔试题:用两个栈实现队列



#include
#include
using namespace std;

template
class QUEUE
{
public:
QUEUE(){}
~QUEUE(){}
void APPEND(const T val)
{
while(st2.empty()==false)
{
//我们只用st2保存数据,st1作为中间交换桥梁。
//首先将st2中的数据逆序保存在st1中。
st1.push(st2.top());
st2.pop();
}
//然后将输入的值放在st1得顶部。
st1.push(val);
while(st1.empty()==false)
{
//此刻再将st1中的数据全部放到st2中,
//恰恰保证了刚才的新val是在底部,实现了
//队列先进后出的思想。
st2.push(st1.top());
st1.pop();
}
}
int DELHED()
{
int temp = st2.top();
st2.pop();
return temp;
}
void Printf()
{
stack st3 = st2;
//打印的话,为了不影响原来的栈,选择使用了一个临时变量。
while(st3.empty()==false)
{
cout<

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:鄂州SEO http://ezhou.4567w.com

上一篇:Python+Scrapy爬取数据简单实例 下一篇:最后一页