您的位置:首页 > 其它

用两个栈实现队列

2015-08-31 20:33 344 查看
#include<iostream>
#include<stack>
using namespace std;
template <class T> class MyQueue
{
stack<T> s1,s2;
public:
MyQueue(){}
/*int size()
{
return s1.size()+s2.size();
}
bool empty()
{
if(size()==0)
return true;
else
return false;
}*/
void push(T value)
{
s1.push(value);
}
T pop()
{
if(!s2.empty())
return s2.top();
while(!s1.empty())
{
s2.push(s1.top());
s1.pop();
}
return s2.top();
}
/* void pop()
{
if(s2.empty())
{
while(!s1.empty())
{
s2.push(s1.top());
s1.pop();
}
}
s2.pop();
}*/
};
void main()
{
MyQueue<char> queue;
queue.push('a');
queue.push('b');
queue.push('c');
char r = queue.pop();
cout<<r<<endl;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: