#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
int n;
cin>>n;
vector<int>v;
queue<int>Q;
int i,j;
for(i=0; i<n; i++)
Q.push(i);
while(!Q.empty()) //队列不空,执行循环
{
int x=Q.front(); //取出当前队头的值x
Q.pop(); //弹出当前队头
Q.push(x); //把x放入队尾
x = Q.front(); //取出这时候队头的值
v.push_back(x);
Q.pop(); //弹出这时候的队头
}
vector<int>ans(n);
for(i=0; i<n; i++)
ans[v[i]]=i;
for(i=0; i<n; i++)
{
if(i!=n-1)cout<<ans[i]+1<<" ";
else cout<<ans[i]+1<<endl;
}
}
return 0;
}
网易构造队列
最新推荐文章于 2019-12-15 11:37:34 发布