class Queue
{
public:
void Push(int value)
{
if (!s2.empty())
{
s1.push(s2.top());
s2.pop();
}
s1.push(value);
}
void Pop()
{
if (s1.empty() && s2.empty())
return;
if (!s1.empty())
{
while (s1.size() != 1)
{
s2.push(s1.top());
s1.pop();
}
s1.pop();
}
}
protected:
stack<int>s1;
stack<int>s2;
};
int main()
{
Queue q;
q.Push(1);
q.Push(3);
q.Push(5);
q.Push(7);
q.Push(9);
q.Push(2);
q.Push(4);
q.Pop();
}
两个栈实现一个队列
最新推荐文章于 2025-03-10 19:28:37 发布