卡片游戏
#include<iostream>
using namespace std;
#define MAX 100
int n;
int queue[MAX];//数组定义为2倍大小,否则读写非法内存
int begin;
int end;
void init()
{
begin=0;
for(int i=0;i<n;i++)
{
queue[i]=i+1;
}
end=n-1;
}
int main()
{
cin>>n;
init();
for(int i=0;i<n;i++)
{
cout<<queue[begin++]<<" ";
queue[++end]=queue[begin++];
}
cout<<endl;
return 0;
}
#include<iostream>
#include<queue>
using namespace std;
#define MAX 100
int main()
{
int n;
cin>>n;
queue<int> q;
for(int i=0;i<n;i++)
{
q.push(i+1);
}
for(int i=0;i<n-1;i++)
{
cout<<q.front()<<" ";
q.pop();
q.push(q.front());
q.pop();
}
cout<<q.front()<<endl;
return 0;
}