魔术师发牌问题(数据结构)
来源:互联网 发布:嵌入式linux终端vim 编辑:程序博客网 时间:2024/04/26 10:15
笔记
#include<stdio.h>#include<stdlib.h>#define CardNumber 13typedef 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<=CardNumber; i++) { s = (linklist)malloc(sizeof(sqlist)); s->data = 0; if(head == NULL) { head = s; } else { r->next = s; } r = s; r->next = head; } return head;}//发牌顺序计算void Magician(linklist head){ linklist pa; int j; int Countnumber = 2; pa = head; pa->data = 1;//阿权,这条语句一执行,pa->next->data也会被赋值为1 while(1) { for(j=0; j<Countnumber; j++) { pa = pa->next; if(pa->data != 0) { pa->next; j--; } } if(pa->data == 0) { pa->data = Countnumber; Countnumber++; if(Countnumber == 14) { break; } } }}//销毁工作void DestoryList(linklist *list){ linklist ptr = *list; linklist buff[CardNumber]; int i=0; while(i < CardNumber) { buff[i++] = ptr; ptr = ptr->next; } for(i=0; i<CardNumber; ++i) { free(buff[i]); } *list = 0;}int main(){ linklist p; int i; p = CreateLinkList(); Magician(p); printf("按如下顺序排列:\n"); for(i=0; i<CardNumber; ++i) { printf("黑桃%d ",p->data); p = p->next; } DestoryList(&p); return 0;}
0 0
- 魔术师发牌问题(数据结构)
- 数据结构(c++)魔术师发牌问题
- 魔术师发牌问题-数据结构和算法
- 数据结构--循环链表,魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题2
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- 魔术师发牌问题
- JQuery实战——可以编辑的表格
- TCP协议中的三次握手和四次挥手(图解)
- linux命令之make、clean及其组合命令
- 8. Browser 对象 - History 对象(2)
- getView()执行次数问题
- 魔术师发牌问题(数据结构)
- fread,fwrite,fopen,fclose ,fseek用法
- C++学习笔记——类和对象(三)
- Android发送post请求
- 作为一个新人,怎样学习嵌入式Linux?(转自韦东山)
- E-R图备忘
- Redis计数在新浪微博的应用
- jQuery 如何操作cookie (网上资料太乱,故特意整理最简单的)
- 9. Browser 对象 - Location 对象