魔术师发牌问题
来源:互联网 发布:2016淘宝女装第一名 编辑:程序博客网 时间:2024/04/27 08:44
#include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node *next;}sqlist,*linklist;//生成一个单循环链表linklist CreateLinkList(){ linklist head=NULL; linklist s,r; int i; r=head; for(i=1;i<=13;i++) { s=(linklist)malloc(sizeof(sqlist)); s->data=0;//链表元素初始化为0 if(head==NULL) head=s; else r->next=s; r=s; } r->next=head; return head;}//发牌顺序计算void Magician(linklist head){ linklist p; int j; int Countnumber=2; p=head; p->data=1;//第一张牌放1 while(1) { for(j=0;j<Countnumber;j++) { p=p->next; //该位置有牌的话,则指向下一个位置 if(p->data!=0) { p->next; j--; } } if(p->data==0) { p->data=Countnumber; Countnumber++; if(Countnumber==14) break; } }}//销毁工作void DestoryList(linklist* list){ linklist ptr=*list; linklist buff[13]; int i=0; while(i<13) { buff[i++]=ptr; ptr=ptr->next; } for(i=0;i<13;++i) free(buff[i]); *list=0;}int main(){ linklist p; int i; p= CreateLinkList(); Magician(p); printf("按如下顺序排列:\n"); for(i=0;i<13;i++) { printf("黑桃%d\n",p->data); p=p->next; } printf("我们都是小小魔术师!\n"); DestoryList(&p); return 0;}
0 0
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题(数据结构)
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题2
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- Lightoj [基础题系列] 1136 - Division by 3
- 注解-->Spring配置
- Swift学习-枚举(八)
- sqlite 3 使用交叉编译
- 安装QCustomPlot
- 魔术师发牌问题
- C#线程编程实例
- Android数据库升级、降级、创建(onCreate() onUpgrade() onDowngrade())的注意点
- 【转】CGIC简明教程
- 详细讲解Oracle中isnumeric的三种实现
- ios开发 -- AFNetworking用法
- Given two strings s and t, write a function to determine if t is an anagram of s.
- C++实验关于构造函数的定义和使用
- 线程本地变更ThreadLocal-->Spring事务管理