两个队列实现栈

思路

创新互联建站主营禄丰网站建设的网络公司,主营网站建设方案,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号
友情链接: 响应式网站设计 手机网站制作 成都网站建设 成都网站设计公司 高端品牌网站建设 网站建设费用 成都网站建设公司 温江网站设计 定制网站制作 移动手机网站制作 成都模版网站建设 app网站建设 重庆网站制作 网站建设 宜宾网站设计 成都网站建设推广 成都网站制作 手机网站建设 网站建设公司 成都网站制作 成都做网站建设公司 网站制作报价