C++:利用两个队列实现栈的操作

来源:互联网 发布:linux改root密码 编辑:程序博客网 时间:2024/05/21 09:29
#include<iostream>#include<queue>using namespace std;class stack{private:queue<int> q1,q2;public:void s_push(int a){q1.push(a);}int s_size(){return q1.size();}bool s_empty(){return q1.empty();}int s_pop(){while(!q1.empty()&&q1.size()!=1){q2.push(q1.front());q1.pop();}    int b=q1.front();q1.pop();while(!q2.empty()){q1.push(q2.front());q2.pop();}return b;}};int main(){stack ss;ss.s_push(1);ss.s_push(2);ss.s_push(3);ss.s_push(4);cout<<ss.s_size()<<endl;cout<<ss.s_pop()<<endl;cout<<ss.s_pop()<<endl;cout<<ss.s_pop()<<endl;cout<<ss.s_pop()<<endl;return 0;}

0 0