【面试题】五道面试题四

    xiaoxiao2023-03-24  4

    两个栈实现一个队列

    #include <iostream> #include <stack> using namespace std; template<typename T> class StackQueue { public: StackQueue() {} ~StackQueue() {} void Push_Front(const T& x) { s1.push(x); } T& Pop_Back() { if(s2.size()==0) { while (s1.size()>0) { s2.push(s1.top()); s1.pop(); } } /* if(s2.size()==0) cout<<"队列为空"<<endl;*/ T tmp=s2.top(); s2.pop(); return tmp; } private: stack<T> s1,s2; }; void test3() { StackQueue<int> sq; sq.Push_Front(1); sq.Push_Front(2); sq.Push_Front(3); sq.Push_Front(4); sq.Push_Front(5); sq.Push_Front(6); int len=6; while(len) { cout<<sq.Pop_Back()<<" "; --len; } cout<<endl; }

    转载请注明原文地址: https://ju.6miu.com/read-1200032.html
    最新回复(0)