您的位置:首页 > 其它

算法竞赛入门经典 6.1.1 卡片游戏

2014-05-07 16:48 204 查看
/*利用队列解题*/
//用数组实现的队列来解题
#include <stdio.h>
const int MAXN = 50;
int queue[MAXN];
int main()
{
int len = 0;
scanf("%d", &len);
for(int i = 0; i < len; ++i)
queue[i] = i + 1;
int front = 0;
int rear = len;

while(front < rear)
{
printf("%d", queue[front++]);
queue[rear++] = queue[front++];
printf("%c", front < rear ? ' ' : '\n');
}
return 0;
}

//用STL队列queue
#include <cstdio>
#include <queue>
using namespace std;
queue<int> q;
int main()
{
int len = 0;
scanf("%d", &len);
for(int i = 0; i < len; ++i)
q.push(i + 1);
while(!q.empty())
{
printf("%d%c", q.front(), q.size() == 1 ? '\n' : ' ');
q.pop();
if(!q.empty())
{
q.push(q.front());
q.pop();
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: