数据结构 c语言 循环队列实现扑克牌问题

来源:互联网 发布:消防知识知多少作文 编辑:程序博客网 时间:2024/06/10 06:16
题目1:实现扑克牌问题

扑克牌原理:有A-K共13张牌摞在一起,不知道其中的顺序,拿出最上面的一张放在最下面,拿出第二张牌放在桌子上,循环操作,直到所有牌放在桌子上,桌子上的牌的顺序是A-K,问牌摞在一起的顺序是什么?

 #include<stdio.h>
 typedef struct Queue
 {
         int index; //原序号
 }Queue;
 
 Queue qw[10001];
 int main()
 {
         int result[13],front = 0,rear = 13,k = 1;
         for(int i = 0;i < 13;i++)
         {
                 qw[i].index = i;
                 result[i] = 0;
         }
         while(front < rear)
         {
                 //出队到桌面
                 int index = qw[front].index;
                 result[index] = k++;
                 //出队到队尾
                 front++;
                 if(front == rear)break;
                 qw[rear++] = qw[front];
                 front ++;
         }
         for(int i = 0;i < 13;i++)
         {
                 printf("%d ",result[i]);
         }
         printf("\n");
         return 0;
 
 }                                                         
                                                           
                                                           


原创粉丝点击