C语言用链表解决约瑟夫问题
来源:互联网 发布:寝室抢网速软件 编辑:程序博客网 时间:2024/05/24 07:45
#include<stdio.h>#include<malloc.h>#define LPRO sizeof(struct Pro)struct Pro *create(int x); // 建表,x表示总人数struct Pro *print(struct Pro *head, int x); // 打印目标节点,传入头指针和总人数struct Pro *delet(struct Pro *pre, struct Pro *p); // 删除目标节点,传入目标节点前驱和目标节点struct Pro{int num;struct Pro *next;};int main(){struct Pro *head;head = create(41); // 建立有41个节点的单链表print(head, 41);// 打印目标节点return 0;}struct Pro *create(int x) // 建表,x表示总人数{int i = x;struct Pro *head, *p, *tail;head = (struct Pro *)malloc(LPRO);head = NULL;do{p = (struct Pro *)malloc(LPRO);p->num = i;if(i == x){tail = p;}i--;p->next = head;head = p;}while(i);tail->next = p;return tail;}struct Pro *print(struct Pro *head, int x)// 打印目标节点,传入头指针和总人数{int i;struct Pro *p, *pre;p = head;while(x){for(i = 0; i < 3; i++) // 寻找目标节点{pre = p;p = p->next;}printf("%-4d", p->num);p = delet(pre, p);// 删除目标节点x--;}return 0;}struct Pro *delet(struct Pro *pre, struct Pro *p) // 删除目标节点,传入目标节点前驱和目标节点 {pre->next = p->next;free(p);return pre;}
0 0
- C语言用链表解决约瑟夫问题
- C语言用循环链表解决约瑟夫问题
- C语言单向循环链表解决约瑟夫问题
- 用单链表解决约瑟夫问题 C语言实现
- 用双循环链表解决约瑟夫问题
- 用循环链表解决约瑟夫问题
- 用循环链表解决约瑟夫问题
- C语言通过双向循环链表解决Josephus(约瑟夫)问题
- 链表解决约瑟夫问题
- 【C语言】约瑟夫环(用单向循环链表解决)
- (学习java)用java语言构造的循环链表解决约瑟夫问题
- 用单向循环链表解决约瑟夫环问题
- 用个循环链表解决约瑟夫环问题
- [转]用单向循环链表解决约瑟夫环问题
- 用循环链表解决约瑟夫(josephu)问题
- 约瑟夫环问题 (用循环链表解决)
- 用循环链表解决约瑟夫环问题
- 用循环单链表解决约瑟夫问题
- HDU 1068 Girls and Boys
- Eclipse安装propertie,eclipse.properties插,Properties Edito,properties插件,properties预览
- POJ - 1741 Tree 树的分治
- 非类型模板形参取数组的维数
- Omnet++创建第一个程序
- C语言用链表解决约瑟夫问题
- UVa 455 - Periodic Strings
- C程序中对时间的处理——time库函数详解
- 基于Vs2013 C++连接 2010Access 数据库
- 30分钟线
- install google-chrome on CentOS 7
- HuaweiCode-在字符串中找出连续最长的数字串
- 用MPI_Send和MPI_Recv实现简单集群通信函数
- jquery的extend和fn.extend