您的位置:首页 > 编程语言 > C语言/C++

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

2014-09-22 16:52 615 查看
#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: