用栈和队列实现队列元素的逆置
【问题描述】
已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。
【输入形式】
输入的第一行为队列元素个数,第二行为队列从首至尾的元素
【输出形式】
输出队列的逆置
【样例输入】
3
1 2 3
【样例输出】
3 2 1
【评分标准】
需采用队列与栈的知识
注意事项
实现逆置并不难,此题主要是掌握栈和队列基本操作。
栈(stack):
1、头指针:#include
2、栈的定义:stacks;
3、基本操作:
s.push(item); //将item压入栈顶
s.pop(); //删除栈顶元素,但不返回
s.top(); //返回栈顶元素,但不删除
s.size(); //返回栈中元素的个数
s.empty(); //检查栈是否为空,为空返回true
队列(queue):
1、头指针:#include
2、队列的定义:queueq;
3、基本操作:
q.push(item); //将item压入队列尾部
q.pop(); //删除队首元素,但不返回
q.front(); //返回队首元素,但不删除
q.back(); //返回队尾元素,但不删除
q.size(); //返回队列中元素的个数
q.empty(); /