版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | http://vearne.cc
#include <iostream>
#include <stack>
using namespace std;
template<typename T>
class MyQueue{

public:
	MyQueue(){}
	~MyQueue(){}
	void push(T& a);
	T& front();
    void pop();

	int size(){
		return st1.size()+st2.size();
	}
	bool empty(){
		return size()==0;
	}
private:
	stack<T> st1;
	stack<T> st2;
	
};
template<typename T> 
void MyQueue<T>::push(T& a){
		st1.push(a);
}
template<typename T>
T& MyQueue<T>::front(){
	if(st2.empty()){
			while(!st1.empty()){
				st2.push(st1.top());
				st1.pop();
			}
	}
	return st2.top();
}
template<typename T>
void MyQueue<T>::pop(){
	front();
	st2.pop();
}
int main(){
	MyQueue<int> q;
	int a=1;
	int b=2;
	int c=3;
	q.push(a);
	q.push(b);
	//cout<<q.size()<<endl;
	cout<<q.front()<<endl;
	q.push(c);
	while(!q.empty()){
		cout<<q.front()<<endl;
		q.pop();
	}
	//cout<<q.front()<<endl;
}

后记

这是我2012年的文章,从别的博客迁移进来


请我喝瓶饮料

微信支付码