两个队列实现栈

思路

创新互联建站主营禄丰网站建设的网络公司,主营网站建设方案,App定制开发,禄丰h5小程序定制开发搭建,禄丰网站营销推广欢迎禄丰等地区企业咨询

a.插入:哪个队列中有数据就插入哪个队列

b.删除:把存在数据的队列弹出并压入另一队列,且只留最后一个数据,并且删除最后一个。

//test2.h
#include
#include
using namespace std;
template
class stackWithTwoQueue
{
public:
	stackWithTwoQueue();
	~stackWithTwoQueue();
	void addHead(const T& data);
	T deleteTail();
private:
	queue q1;
	queue q2;
};

//test2.cpp
#include "test1.h"
using namespace std;
template
stackWithTwoQueue::stackWithTwoQueue()
{}
template
stackWithTwoQueue::~stackWithTwoQueue()
{}
//哪个里有数据就加到哪个里
template
void stackWithTwoQueue:: addHead(const T& data)
{
	if(!q2.empty())
	{
		q2.push(data);
	}
	else
	{
		q1.push(data);
	}
}
//谁不为空就把它倒到另一个队列再直到只剩一个,最后删除那个
template
T stackWithTwoQueue::deleteTail()
{
	if(q1.empty()&&q2.empty())
	{
		cout<<"stack is empty!\n"< sw;
	sw.addHead(1);
	sw.addHead(2);
	sw.addHead(3);
	cout< sw;
	sw.addHead(1);
	sw.addHead(2);
	sw.addHead(3);
	cout<            
            
                        
分享标题:两个队列实现栈
标题链接:http://bzwzjz.com/article/iedied.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设方案 网站制作报价 外贸营销网站建设 成都商城网站建设 成都企业网站设计 网站建设推广 LED网站设计方案 手机网站制作 四川成都网站制作 网站建设开发 成都网站设计 网站设计公司 高端网站设计推广 网站设计制作报价 定制网站设计 成都企业网站建设 做网站设计 成都响应式网站建设 营销型网站建设 成都网站制作 外贸网站设计方案 企业网站设计