两个队列实现栈

思路

创新互联建站主营禄丰网站建设的网络公司,主营网站建设方案,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://www.hxwzsj.com/article/iedied.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 重庆电商网站建设 成都网站建设 重庆网站制作 手机网站建设 成都网站设计 成都商城网站建设 成都网站设计 成都网站制作 重庆企业网站建设 四川成都网站制作 成都网站建设推广 网站建设 网站设计制作报价 成都企业网站制作 营销网站建设 手机网站制作 成都网站建设 网站建设改版 重庆网站建设 高端网站设计 成都做网站建设公司 网站建设公司