队列元素逆置

【问题描述】
已知Q是一个非空队列,S是一个空栈。仅使用少量工作变量以及对队列和栈的基本操作,编写一个算法,将队列Q中的所有元素逆置。

【输入形式】
输入的第一行为队列元素个数,第二行为队列从首至尾的元素

【输出形式】
输出队列的逆置

【样例输入】
3
1 2 3

【样例输出】
3 2 1

【评分标准】
需采用队列与栈的知识,否则不能得分

#include <iostream>
#include <stack>
using namespace std;

int main()
{
    stack<int> s;
    int i,n;
    cin>>n;
    for(i=0;i<n;i++)
    {
        int d;
        cin>>d;
        s.push(d);
    }
    while(!s.empty())
    {
        cout<<s.top()<<" ";
        s.pop();
    }
    return 0;

}
发布了31 篇原创文章 · 获赞 8 · 访问量 2157

猜你喜欢

转载自blog.csdn.net/weixin_44034024/article/details/104660848