- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
-
实验一:约瑟夫斯问题求解
一、问题描述
1.实验题目:约瑟夫斯问题的一种描述是:编号为1,2,……n的n个人按顺时针方向围
坐一圈,每人持有一个密码9(正整数)。一开场任选一个正整数作为报数上限值m,从第一
个人开场按照顺时针方向自1开场报数,报到m时停顿报数,报m的人出列,将他的密码
作为新的m值,从他在顺时针方向下一个人开场重新重新从1报数,如此下去,直至所有
的人全部出列为止。试设计一个程序,按出列顺序印出各人编号。
2.根本要求:利用单向循环链表模拟此过程,按照出列的顺序印出各人编号。
3.测试数据:n=7,7个人的密码依次为3,1,7,2,4,8,4.m的初始值为6〔正确的
出列顺序应为6,1,4,7,2,3,5。
二、需求分析
1.程序所能到达的根本可能:本程序能够按出列顺序印出各人编号,程序运行后显示提示
信息,提示用户输入人数n,初始报数值m,n个人的密码,程序需自动考虑重复的,用户输
入完毕后,程序自动输出运算结果。
2.输入的形式及输入值围:输入人数n,初始报数值m,n个人的密码,所有值均为正整
数int型。
3.输出的形式:输出的是按出列顺序印出各人编号,为正整数int型。
4.测试数据要求:测试数据要求为int型
三、概要设计
1.所用到得数据构造及其ADT
为了实现上述功能,应以单向循环链表有序链表表示集合
数据类型。
.z.
-
1.单向循环链表抽象数据类型定义:
typedefstructnode
{
ElemTypedata;
ElemTypenum;
structnode*ne*t;
}SLNODE;
根本操作:
structnode*create_sl(intn);//创立单向循环链表
2.主程序流程及其模块调用关系
1〕创立循环链表的流程图
2)约瑟夫问题求解流程图
3)主函数流程图
四、详细设计
1.实现每个操作的伪码,重点语句加注释
主程序:
voidmain()
{
SLNODE*head;
intn,m;
head=(SLNODE*)malloc(sizeof(SLNODE));
printf(/*************************************/\n);//初始界面
.z.
-
printf(**:031350102\n);
printf(:王亚文\n);
printf(约瑟夫斯问题求解\n);
printf(/*************************************/\n);
printf(输入总人数n=\n);
scanf(%d,n);
printf(输入初始报数值m=\n);
scanf(%d,m);
head=create_sl(n);
Josephus(head,n,m);
}
2.创立循环单链表
structnode*create_sl(intn)
{
SLNODE*p,*s,*head;
ElemType*;
inta;
head=(SLNODE*)malloc(sizeof(SLNODE));
p=head;
head-ne*t=head;
for(a=1;a=n;a++)//循环直到输入n个密码值跳出循环
{
.
您可能关注的文档
- 小学专任教师考核方案.docx
- 数据结构课程设计报告-floyd算法求解最短路径.pdf
- 蒸馏塔与裙座的机械设计.pdf
- 净化空调培训教材.pdf
- 妇产科正高试题及答案.pdf
- 2022年甘肃省庆阳市中考二模英语试题 (word版,无答案、听力原文及音频).docx
- Unit 2 I have a good friend第五课时课件2022-2023学年牛津上海版六年级英语上册.pptx
- 办公室年度工作计划范本10篇.docx
- 五一劳动节见闻小学生作文10篇.docx
- 牛津深圳版八年级下册Module 1 Social communication Unit 1 Helping those in need复习课件(共12张PPT).pptx
- 2024年05月四川省遂宁市检验检测中心2024年公开招考2名编外人员笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2024年05月山东潍坊市教育局所属单位学校招考聘用153人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2024年04月苏州市吴江高新区(盛泽镇)2024年招考15名城市管理辅助执法人员笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2024年04月甘肃省气象局事业单位2024年公开招考11名应届高校毕业生(第三阶段)笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 2024年05月山东济南市历下区教育和体育局所属事业单位招考聘用268人笔试上岸试题历年高频考点难、易错点摘选附带答案详解.docx
- 第23课 和平发展合作共赢的时代潮流 教案 高中历史统编版(2019)必修中外历史纲要下册.docx
- 第7课 隋唐制度的变化与创新(教学设计)高一上学期统编版(2019)必修中外历史纲要上.docx
- 初中生期末考试没考好检讨书.docx
- 简短毕业祝福(通用100句).docx
- 参考详解oracle数据库b28765.pdf
文档评论(0)