




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
约瑟夫环问题实验报告约瑟夫环问题实验报告 实验课题 用循环链表解决约瑟夫环的问题 参与者 XX 班 级 教育技术 121 班 日 期 2013 年 10 月 11 日 上机环境 宿舍个人电脑 硬件设施如下图所示 实验要求实验要求 实验目的实验目的 熟悉 C 语言的基本编程方法 掌握线性表的操作实现方法 培养使用线性表解决实际问题的能力 实验内容实验内容 利用循环链表实现约瑟夫问题的求解 存储结构 循环链表 约瑟夫问题如下 一一 小孩报数问题 有 N 个小孩围城一圈 给他们从 1 开始依次编号 现指定从第 W 个开始报数 报到第 S 个时 该小孩出列 然后从下一个小 孩开始报数 仍是报到第 S 个时出列 如此重复下去 直到所 有的小孩都出列 总人数不足 S 个时将循环报数 求小孩出列 的顺序 算法分析算法分析 用一个标准的输入输出的头文件 iostream h 为了 统一对表中任意节点的操作 循环链表不带头结点 循环链表 的结点定义为如下结构类型 include include structstruct NodeNode intint data data structstruct NodeNode next next intint main main intint m n m n cout cout m cin m cout cout n cin n NodeNode first last first last first last newfirst last new Node Node 生成第一个结点生成第一个结点 first data 1 first data 1 for intfor int i 2 i n 1 i i 2 idata i p data i last next p last p last next p last p 链接结点链接结点 last next first last next first intint number n number n NodeNode pre last pre last while number 1 while number 1 for intfor int j 1 j m j j 1 jnext pre pre next NodeNode p pre next p pre next pre next p next pre next p next cout data cout data deletedelete p p number number cout data cout data deletedelete pre pre 输出结果如下图所示 输出结果如下图所示 二二 Joseph 约瑟夫 问题是非常著名的 最原始的问题是 n 个人 记为 1 2 n 站成一圈 从第一个人开始数 数 到的第 m 个人将要被处死 如此反复进行 直到只剩下一个人 而这个人会获救 比如 当 n 6 m 5 那么这些人将以 5 4 6 2 3 的次序被处死 而 1 就获救了 假设有 k 个好人和 k 个坏人围成一圈 其中 1 到 k 是好人 k 1 到 2k 是坏人 你必须选择 m 使得所有的坏人都先被处 死 然后才是第一个好人 并且要求 m 最小 include structstruct NodeNode intint data data NodeNode pNext pNext voidvoid main main intint n k m i n k m i NodeNode p q head p q head cout cout n cin n cout cout k cin k cout cout m cin m head Node newhead Node new Node Node 确定头结点确定头结点 p head p head for i 1 i n 1 i for i 1 idata i p data i p pNext Node newp pNext Node new Node Node 为下一个新建内存为下一个新建内存 p p pNext p p pNext p data n p data n 最后一个单独处最后一个单独处 理理 p pNext head p pNext head 指向头 形成循环指向头 形成循环 链表链表 p head p head while p data p pNext data while p data p pNext data p data p p data p pNext data pNext data 表示只剩下一个结点的表示只剩下一个结点的 while p datawhile p data k k 寻找编号为寻找编号为 k k 的结点的结点 p p pNext p p pNext if m 1 if m 1 for i 1 i n i for i 1 i n i cout data t cout data pNextp p pNext cout n cout n return return elseelse for i 1 i m 1 i for i 1 ipNext p p pNext 找到报找到报 m 1m 1 的结点的结点 q p pNext q p pNext q q 为报为报 m m 的结点的结点 cout data t cout data pNext data k q pNext data k k 为下一个报数的起点为下一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 严重精神障碍患者管理规范考核试题及答案
- 2025年固定电信服务行业研究报告及未来行业发展趋势预测
- 成人智力障碍病人病历书写范文大全
- 智算中心虚拟化与容器化技术方案
- 2025年其他肥料制造行业研究报告及未来行业发展趋势预测
- 2025年巧克力行业研究报告及未来行业发展趋势预测
- 医药商品购销员(药品购销员)试题及参考答案
- 流行病学与医学统计学试题及答案
- 2025年驾驶证资格考试科目一必刷题库与答案
- 2025年环保除味保养行业研究报告及未来行业发展趋势预测
- DB32-T 4334-2022 薄壳山核桃郁闭园改造技术规程
- 农办主任履行职责工作(2篇)
- 2025年中国维生素C咀嚼片市场供需格局及未来发展趋势报告
- 规则之下方有自由课件-高一上学期行为常规主题班会
- 广东省汕头市金平区2021-2022学年八年级下学期期末英语卷
- 物流行业固废处理方案
- 云南省第二十一届职工职业技能大赛机器人系统运维员竞赛考试题库(含答案)
- 申请报建户外货梯的申请书
- DB S63-0011-2021食品安全地方标准 黑果枸杞中花青素含量的测定
- 《如何说孩子才会听怎么听孩子才肯说》读书分享
- 2022年贵州省注册安全工程师考试题库合集(含各科真题和典型题)
评论
0/150
提交评论