您的位置:首页 > 理论基础 > 数据结构算法

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

2017-07-29 17:26 246 查看
题目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;

 

 }                                                         

                                                           

                                                           
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: