#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;
}
C++:利用两个队列实现栈的操作
最新推荐文章于 2024-04-29 17:26:49 发布