使用俩个栈实现一个队列的功能

来源:互联网 发布:中国核武数量 知乎 编辑:程序博客网 时间:2024/05/29 10:10

使用两个栈实现一个队列的先进先出的功能。

#include <iostream>#include <stack>using namespace std;class CQueue{public:      CQueue() {}      ~CQueue() {}      void appendTail(const int &element );  // append a element to tail      void deleteHead();               // remove a element from head private:     stack<int> m_stack1;     stack<int> m_stack2;};void CQueue::appendTail(const int &element){m_stack1.push(element);}void CQueue::deleteHead(){int tmp;if(m_stack2.empty()){while(!m_stack1.empty()){             tmp = m_stack1.top(); m_stack1.pop(); m_stack2.push(tmp);}}{tmp = m_stack2.top();cout<<tmp<<endl;m_stack2.pop();}}void main(){   CQueue q1,q2;   q1.appendTail(1);   q1.appendTail(2);   q1.appendTail(3);   q1.appendTail(4);   q1.appendTail(5);   q1.deleteHead();   q1.deleteHead();   q1.deleteHead();   q1.deleteHead();   q1.deleteHead();}


 

原创粉丝点击