欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    约瑟夫环-课程设计

    • 资源ID:1424648       资源大小:307.50KB        全文页数:14页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    约瑟夫环-课程设计

    1、 目 录 1 题目 . 1 1.1 问题描述 1 1.2 功能要求 1 2 算法思想描述: . 1 2.1 算法概述: 1 2.2 算法具体分析 2 3 程序结构 3 3.1 主函数流程图 3 3.2 josephus()函数流程图 . 4 4 实验结果与分析 5 4.1 实验测试中的关键代码与各模块测试结果的分析与说明 5 4.2 试验过程中所遇到的问题分析与解决 .11 5 课程设计总结 . 12 参 考 文 献 13 1 1 题目题目 约瑟夫环 1.11.1 问题描述问题描述 编号为 1,2 n 的 n 个人按顺时针方向围坐一圈,每人持有一个密码(正整数) 。 一开始任选一个正整数作为报

    2、数的上限值 m, 从第一个人开始按顺时针方向自 1 开始顺序 报数,报到 m 时停止报数,报 m 的人出列,将他的密码作为新的 m 值,从他的顺时针方 向上的下一个开始重新从 1 报数,如此下去,直至所有人全部出列为止,设计一个程序 求出出列顺序。 1.21.2 功能要求功能要求 A 利用单循环链表作为存储结构模拟此过程; B 键盘输入总人数、初始报数上限值 m 及各人密码; C 按照出列顺序输出各人的编号。 2 算法思想描述:算法思想描述: 2.12.1 算法概述算法概述: 建立一个循环单链表,然后输入要建立结点的个数,在每个结点输入一个密码,同时 按输入时的顺序进行编号:1,2,3,4,

    3、n.任选一个正整数x作为初始报数上限值.从定 义的那个头结点开始,数到 x,输出该结点所储存的编号和密码.并将该密码作为新的 x 值, 同时还将该密码所在的结点删除.如此循环链表还剩最后一个数据的时候停止此循环.再 将最后一个没在循环里面的编号和密码另外输出.循环链表如图 1 所示: 2 图 2 2.22.2 算法具体分析算法具体分析 (1) window(),switch(),upbar(), downbar(),key()这几个函数是构建本程序菜单 所必须的函数.window()用于开窗口,以坐标的形式开辟一个窗口,并且可以在窗口里面 储存数据.switch()创建菜单选项,key()主要

    4、用于获取键盘上的字符(包括字母和方向 键,enter 键),upbar()和 downbar()实现光条的上移和下移. textbackground(), textcolor()。窗口背景颜色和里面文本颜色的设置。 (2) InitList()初始化循环链表,开辟一个空间作为头结点,并让L=L-next先 让它指向自己,令链表循环起来. ListInsert()向循环链表里面插入数据(包括编号和密 码), DispList()以定义的头结点为第一个数,输出循环链表. (3) josephus()主要用于解决约瑟夫环问题,首先调用 InitList()建立循环链 表,再调用 ListInsert()插入数据,再调用 DispList()把储存的数据输出来.定义两个指 针s和q,再定义count作为计数器,此时需要任意输入一个正整数x作为初始报数上限值, 当计数器 count=x 时就把该指针所指向的数据输出并把该数据赋给 x,作为新的报数上限 值.然后删除该结点,s 和 q 的主要作用是在把输出数据之后的结点删除.如此循环,直到 还剩最后一个结点,同时定义 ai


    注意事项

    本文(约瑟夫环-课程设计)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583