简单的队列运用
代码
//
source code of submission 467542, Zhongshan University Online Judge System
/*
Author: Plutoyang 2010-11-4
*/
#include < stdio.h >
#define MAXSIZE 100
int main()
{
int queue[MAXSIZE];
int t;
int n;
int exchange;
int front, rear;
scanf( " %d " , & t);
while (t -- )
{
scanf( " %d " , & n);
/* 特殊情况: 只有一张纸牌, 直接输出 */
if (n == 1 )
{
printf( " %d \n " , n);
continue ;
}
front = rear = 0 ;
/* 初始化队列 */
for (; rear < n; rear ++ )
{
queue[rear] = rear + 1 ;
}
rear -- ;
/* 开始纸牌游戏 */
while (front != rear - 1 )
{
printf( " %d " , queue[front ++ ]);
exchange = queue[front ++ ];
queue[ ++ rear] = exchange;
}
printf( " %d %d \n " , queue[front], queue[rear]);
}
return 0 ;
}
/*
Author: Plutoyang 2010-11-4
*/
#include < stdio.h >
#define MAXSIZE 100
int main()
{
int queue[MAXSIZE];
int t;
int n;
int exchange;
int front, rear;
scanf( " %d " , & t);
while (t -- )
{
scanf( " %d " , & n);
/* 特殊情况: 只有一张纸牌, 直接输出 */
if (n == 1 )
{
printf( " %d \n " , n);
continue ;
}
front = rear = 0 ;
/* 初始化队列 */
for (; rear < n; rear ++ )
{
queue[rear] = rear + 1 ;
}
rear -- ;
/* 开始纸牌游戏 */
while (front != rear - 1 )
{
printf( " %d " , queue[front ++ ]);
exchange = queue[front ++ ];
queue[ ++ rear] = exchange;
}
printf( " %d %d \n " , queue[front], queue[rear]);
}
return 0 ;
}