“约瑟夫问题”实现代码加运行截图(ADT小组)
来源:互联网 发布:免费网店源码 编辑:程序博客网 时间:2024/06/04 19:47
#include<iostream>struct people{int m;people* next;};class game{public:game(int, int);//构造函数void count(int);//计数函数void Delete();//删除函数void judgement();//裁判操作函数private:people *p, *frist = NULL;//头指针,与当前位置指针int lenght = 0;};game::game(int n, int m){frist = new people;frist->m = m + 1;//给头结点赋予标识值frist->next = NULL;people * s, *r;s = frist;r = NULL;for (int i = 0; i < n; i++)//动态内存分配{r = new people;r->m = m;s->next = r;r->next = NULL;s = r;lenght += 1;}r->next = frist;p = frist;}void game::count(int m){for (int i = 0; i < (m - 2);)//这里的位置指针只移动到删除位置的前一位{if (p->m == m + 1)//为了跳过头结点的操作{p = p->next;}else{p = p->next;i++;}}}void game::Delete()//删除{people *s;s = p->next;p->next = s->next;delete s;lenght -= 1;}void game::judgement()//裁判操作{for (; 1 == 1;){count(frist->next->m);//开始计数Delete();//删除if (lenght == 1)//判断是否只剩一个人{break;}}//重新计数using std::cout;using std::endl;cout << "优胜者已经产生" << endl;}int main(){int n, m;using std::cout;using std::endl;cout << "请输入人数n,与密码m" << endl;using std::cin;cin >> n >> m;game s(n, m);s.judgement();system("pause");return 0;}
运行截图(比赛进行中):
运行截图(比赛结束):
0 0
- “约瑟夫问题”实现代码加运行截图(ADT小组)
- <数据结构> 约瑟夫问题 (待补充完整)------------代表ADT小组
- “约瑟夫问题”实现代码
- 约瑟夫问题的代码实现
- ”约瑟夫问题“的ADT定义
- 约瑟夫环问题 java代码实现(高效率)
- 约瑟夫问题java语言实现代码
- 约瑟夫问题总结及代码实现
- 10行python代码实现约瑟夫问题
- 约瑟夫问题分析及代码实现
- 约瑟夫问题(Java实现)
- 约瑟夫问题(java实现)
- 约瑟夫环问题求解(Java代码)
- 约瑟夫问题Java代码
- 约瑟夫问题的代码
- 约瑟夫问题 java代码
- 约瑟夫环(约瑟夫问题) 采用循环单链表实现
- 代码实现截图(全屏,局部)
- SQL窗口函數一例
- 在Windows的Tomcat环境下部署Solr 4.7.0
- HDU-4407-Sum(容斥原理)
- jira 安装步骤
- UVA 10785 - The Mad Numerologist
- “约瑟夫问题”实现代码加运行截图(ADT小组)
- 判断Shell程序输入参数的个数
- HDOJ 1253 胜利大逃亡 BFS
- shell脚本中的参数判断
- shell中的条件判断、参数以及变量替换
- ghost博客系统+disqus评论系统
- Android开源图表库XCL-Charts版本发布及展示页
- volatile使用详解
- 如何判断命令行的参数是不是一个数字?