- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告约瑟夫环完整版
******************* 实践教学 ******************* 兰州理工大学 软件职业技术学院 2011年春季学期 算法与数据结构课程设计 题 目: 约瑟夫环 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 摘要 约瑟夫环问题是典型的线性表的应用实例,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 经过分析,我们使用 MICROSOFT公司的Microsoft Visual C++6.0开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 关键词:单循环链表;c语言;约瑟夫环; 序言 数据结构是研究数据元素之间的逻辑关系的一门课程,以及数据元素及其关系在计算机中的存储表示和对这些数据所施加的运算。该课程设计的目的是通过课程设计的综合训练,培养分析和编程等实际动手能力,系统掌握数据结构这门课程的主要内容。 本次课程设计的内容是用单循环链表模拟约瑟夫环问题,循环链表是一种首尾相接链表,其特点是无须增加存储容量,仅对表的链接方式稍作改变,使表处理更加灵活,约瑟夫环问题就是用单循环链表处理的一个实际应用。通过这个设计实例,了解单链表和单循环链表的相同与不同之处,进一步加深对链表结构类型及链表操作的理解。 通过该课程设计,能运用所学知识,能上机解决一些实际问题,了解并初步掌握设计、实现较大程序的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。 目录 摘要 1 序言 2 目录 3 正文 4 一、问题描述 4 二、逻辑设计 5 三、详细设计 7 四、程序代码 13 五、程序调试与测试 13 设计总结 18 参考文献 19 致谢 20 附录 21 正文 一、问题描述 约瑟夫环问题描述的是:设编号为1,2,…,n的n(n0)个人按顺时针方向围坐一圈,每个人持有一正整数密码。开始时选择一个正整数作为报数上限m,从第一个人开始顺时针方向自1起顺序报数,报到m时停止报数,报m的人出圈,将他的密码作为新的m值,从他在顺时针方向上的下一个人起重新从1报数。如此下去,直到所有人都出圈为止。令n最大值为100。要求设计一个程序模拟此过程,求出出圈的编号序列。如下图分析: 二、逻辑设计 1、循环链表抽象数据类型定义 typedef struct LNode//定义单循环链表中节点的结构 { int num;//编号 int pwd;//password struct LNode *next;//指向下一结点的指针 }LNode; 2、本程序包含一下几个模块 (1)构造结点模块 LNode *createNode(int m_num,int m_pwd) { LNode *p; p=(LNode *)malloc(sizeof(LNode));//生成一个结点 p-num=m_num;//把实参赋给相应的数据域 p-pwd=m_pwd; p-next=NULL;//指针域为空 return p; } (2)创建链表模块 void createList(LNode *ppHead,int n) (3)出队处理模块 void jose(LNode *ppHead,int m_pwd) (4)约瑟夫环说明输出模块 void instruction() (5)菜单模块 void menu() (6)主函数模块 int main() 函数的调用关系图如下: 三、详细设计 主函数 根据流程图,主函数程序如下: int main() { int n,m,x; LNode *ppHead=NULL; menu(); for(;;){ printf(\n请选择要执行的操作:); scanf(%d,x); system(cls); switch(x){ case 1: printf(****************************************************************\n); pri
您可能关注的文档
最近下载
- 【MOOC】《中国马克思主义与当代》(北京科技大学)中国大学MOOC慕课答案.docx VIP
- 国际象棋的课程教案.docx VIP
- 器械科制度汇编.pdf
- 2025年新人教版7年级英语上册全册教学课件.pptx
- 第七章 集装箱码头船舶配积载业务.ppt VIP
- 风中奇缘-中英文台词打印版.doc VIP
- 《机电概念设计基础》课件——运动副.pptx VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
- 孙子兵法中的思维智慧 智慧树网课章节测试答案 .docx VIP
- 二 《“友邦惊诧”论》(教学设计)-【中职专用】高二语文同步精品课堂(高教版2024·拓展模块上册).docx VIP
文档评论(0)