循环链表实现约瑟夫问题
来源:互联网 发布:mac股票软件 编辑:程序博客网 时间:2024/05/01 18:31
#include<stdio.h>#include<stdlib.h>typedef struct node{ int num; struct node *next;} data;//自定义结构体另一个名字int main(){ int i,j,n; int s=1;//从第几个开始数 int m=30;//总人数 data *p,*r,*head,*q ; head=(data *)malloc(sizeof(data));//头结点 p=head; printf("第几个人将会被扔向大海:\n"); scanf("%d",&n);//谁被扔向大海 for(i=1; i<=m; i++) { r=p; p=(data *)malloc(sizeof(data)); r->next=p; p->num=i; } p->next=head->next;//将最后一个与第一个连接起来,不是与头结点连接 p=p->next;//p指向第一个节点 j=1; while(j<s)//控制p首先指向谁,即从第几个人开始数 { p=p->next; j++; } printf("被扔向大海的是:\n"); do { for(i=1; i<n-1; i++)//由for循环控制九次一循环,由循环链表移动 { p=p->next;//for循环结束,p指向第八个节点 } q=p->next;//q指向第九个节点 printf("%d ",q->num); p->next=q->next;//将第八个节点与第10个节点连接 free(q);//删除第八个节点 p=p->next;//p指向第10个节点 m--;//总数减一,控制循环15次,扔15人 } while(m>15); printf("\n\n\n我的心血!\n"); return 0;}
0 0
- 单向循环链表实现约瑟夫问题
- 用循环链表实现约瑟夫问题
- 约瑟夫问题简单实现-循环链表
- C++循环链表实现约瑟夫问题
- 约瑟夫问题--循环链表实现
- 循环链表 约瑟夫环问题实现
- 约瑟夫环问题循环链表实现
- 约瑟夫问题循环链表实现
- 约瑟夫问题(循环链表实现)
- 循环链表实现约瑟夫问题
- 约瑟夫问题循环链表实现
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题
- 循环链表实现约瑟夫问题,拉丁方阵问题
- 约瑟夫问题 循环链表实现和数字处理实现
- 约瑟夫问题-循环链表
- 队列实现求迷宫最短路径(包含每一步的尝试状态,迷宫随机生成)
- poj 3164 Command Network
- LazyViewPager懒加载
- 使用DOS命令将java文件打包成jar
- Java学习の路
- 循环链表实现约瑟夫问题
- Android中的AlarmManager
- 数据仓库与数据挖掘(二)
- 腾达AC15改内存闪存刷AC68U梅林
- php管理数组的函数
- OpencvForAndroid快速遍历处理每个像素的方法
- C++中数组以及多维数组作为函数参数时的一些问题
- C++(Singleton)更高效单例模式实现
- [hihocoder]:1048 状态压缩二(状压DP)