题解 | #构造队列#

构造队列

http://www.nowcoder.com/practice/657d09e2b3704574814089ba8566d98d

//用个map<int,int>或pair,按int 1...n顺序倒入队列,按题意算法模拟,给map【x】赋值再打印即可

#include<vector>
#include<iostream>
#include<stdio.h>
#include<map>
using namespace std;

int main(void)
{
    int T;
    int n;
    cin>>T;
    while(T--)
    {
        
        cin>>n;
        
        queue<int> Q;
        
        map<int,int> mp;
        
        for(int i=1;i<=n;i++)
            Q.push(i);
        
        for(int i=1;i<=n;i++)
        {
            auto x = Q.front();
            
            Q.pop();
            
            Q.push(x);
           
            x = Q.front();
            
            mp[x] = i;
            
            Q.pop();
        }
        
        for(int i=0;i<n;i++) cout<<mp[i+1]<<" ";
        cout<<endl;
        
    }
    
    return 0;
}
全部评论

相关推荐

仁者伍敌:服务员还要脱颖而出,这是五星级酒店吗
点赞 评论 收藏
分享
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-29 17:30
找实习找着找着就要进入7月了,马上秋招也要开始了,找实习还有意义吗?
绝迹的星:有面就面, 没面上就当日薪4位数大佬免费培训, 面上了再考虑要不要实习
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务