- 135
- 0
- 约5.73千字
- 约 17页
- 2017-05-21 发布于贵州
- 举报
数据结构实验报告约瑟夫环
数据结构实验报告约瑟夫环
数据结构实验报告1约瑟夫环
一、上机实验的问题和要求:
约瑟夫环
问题描述:编号是1,2,?,n(n0)的n个人按照顺时针方向围坐一圈,每人持有一正整数密码。开始时任选一个正整数作为报数上限值m,从某个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。令n最大值取30。设计一个程序来求出出列顺序,并输出结果。
基本要求:利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各人的编号。
二、程序设计的基本思想,原理和算法描述:
(包括程序的结构,数据结构,输入/输出设计,符号名说明等)
(1)算法的基本思想:
约瑟夫环问题中的数据是人所在的位置,而这种数据是存在“第一元素、最后元素”,并且存在“唯一的前驱和后继的”,符合线性表的特点。由于需要模拟约瑟夫环的出列问题,可以采用顺序表来实现线性表,完成出列顺序的输出。
核心算法主要分为两步:
1、确定需要删除的位置,
2、设置并删除该位置。
已知报数间隔m,我们可以把当前位置加上m获得需要删除的位置,如果获得的位置超过顺序表中实际元素的总长度,则可以通过减去数组的实际长度来修正(即模拟环状计数)。然后把顺序表中的当前指向位置设置为该位置,继而删掉该位置。
反复进行上述确定位置和删除位置的操作,
您可能关注的文档
- 拍肩颈诊断报告.doc
- 拆解报告格式.doc
- 拒绝监督的报告怎样写.doc
- 招商引资成果报告.doc
- 招商银行股份有限公司,2013年度审计报告.doc
- 招投标实训报告.doc
- 招投标的实习报告.doc
- 招聘难,报告.doc
- 招聘网站需求分析报告.doc
- 招聘主管转正报告,site-wenku.baidu.com.doc
- 2026住宅小区消防改造建筑方案(执行版,含总平面布置/疏散流线/消防节点).docx
- 2026制造工厂人力资源规划与排班配置方案(执行版,含排班模型/岗位编制/缺口清单).docx
- 2026人工智能企业内训实施计划(执行版,含培训安排/案例任务/考核清单).docx
- 2026仓储物流园总平面布置建筑方案(执行版,含车流组织/仓位分区/消防间距).docx
- 2026老旧办公楼节能改造建筑方案(执行版,含围护结构/节能设备/施工节点).docx
- 2026Python文件批量重命名与归档脚本方案(执行版,含文件样例/处理脚本/归档规则).docx
- 2026企业会计准则长期股权投资核算指南(执行版,含成本法分录/权益法分录/减值检查表).docx
- 2026社区养老服务中心项目可行性研究报告(执行版,含服务需求/建设内容/运营预算).docx
- 2026物流园冷链仓储项目可行性研究报告(执行版,含选址分析/设备配置/财务测算).docx
- 2026企业会计准则现金流量表编制口径手册(执行版,含分类口径/填报模板/勾稽检查表).docx
原创力文档

文档评论(0)