cmyqueue.cpp

来自「实现 stack或queue 的基本 ; 用 stack来实现 queue或」· C++ 代码 · 共 79 行

CPP
79
字号
#include<iostream>
#include "my stack.h"
using namespace std;
template <typename T> 
class Cqueue
{

private:
	CMyStack<T> s1;
	CMyStack<T> s2;
public:
	Cqueue(){};
	~Cqueue(){};
	
	void Push(T const& );
	T& Pop();
	bool Isempty();
	void Empty();
};
template <typename T> 
void Cqueue<T>::Empty()
{
	s1.Empty();
	s2.Empty();
}

template <typename T> 
bool Cqueue<T>:: Isempty()
{
	if (s1.IsEmpty()) return true;
	else return false;
}
template <typename T> 
void Cqueue<T>::Push(T const& elem)
{
	s1.Push(elem);

}

template <typename T> 
T& Cqueue<T>::Pop()
{
	
	if (s1.IsEmpty())
		exit(0);
	while (!s1.IsEmpty())
	{
		
		s2.Push(s1.Pop());
	}
	T&x=s2.Pop();
	while (!s2.IsEmpty())
	{
		
		s1.Push(s2.Pop());

	}
	return x;
	
}
void main()
{
	Cqueue<int> Q;
	int  n,i;
	cout<<"要输入的个数:";
	cin>>i;
	for (int t=0;t<i;t++)
	{
			cin>>n;
			Q.Push(n);
	}
	for(int j=0;j<10;j++){
		
		cout<<Q.Pop()<<" ";
	}


}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?