您的位置:首页 > 其它

两个栈实现一个队列的功能

2016-08-11 11:12 351 查看
/两个栈实现一个队列
template<typename T>class myqueue
{
public:
//默认构造函数
myqueue(void);
//默认析构函数
~myqueue(void);

//队列入队
void appendtail(const T& node)
{
stack1.push(node);
}
//队列出队
T deletenode()
{
if(stack2.size()<=0)
{
while(stack1.size()>0)
{
T& tem=stack1.top();
stack1.pop();
stack2.push(tem);
}
}
if(stack2.size()==0)
throw new exception("queue is empty.");

T head=stack2.top();
stack2.pop();

return head;
}
private:
stack<T> stack1;//新建两个栈
stack<T> stack2;
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: