附件 4:课程设计报告书《数 据 结 构》课程设计报告约瑟夫( Joseph )环组别 第七组组长组成员成绩指导教师计算机科学与技术系2014 年 6 月 11 日摘要约瑟夫环问题是典型的线性表的应用实例,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 MICROSOFT 公司的 Microsoft Visual C++ 开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操作数据库的智能化对象,首先在短时间内建立系统原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。关键词:单循环链表;c 语言;约瑟夫环;序言数据结构是研究数据元素之间的逻辑关系的一门课程,以及数据元素及其关系在计算机中的存储表示和对这些数据所施加的运算。该课程设计的目的是通过课程设计的综合训练,培养分析和编程等实际动手能力,系统掌握数据结构这门课程的主要内容。本次课程设计的内容是用单循环链表模拟约瑟夫环问题,循环链表是一种首尾相接链表,其特点是无须增加存储容量,仅对表的链接方式稍作改变,使表处理更加灵活,约瑟夫环问题就是用单循环链表处理的一个实际应用。通过这个设计实例,了解单链表和单循环链表的相同与不同之处,进一步加深对链表结构类型及链表操作的理解。通过该课程设计,能运用所学知识,能上机解决一些实际问题,了解并初步掌握设计、实现较大程序的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。章节安排摘要、序言.. .. ................ .. ......... 1一、问题描述1、课程设计目的.. .. .............. .. .. ....... 42、课程设计任务.. .. .............. .. .. ....... 4二、设计过程1、设计思想(数据结构).. .. .............. .. ..42、设计表示(函数说明).. .. .............. .. ..53、详细设计(主要算法).. .. .............. .. ..64、用户手册(使用说明).. .. .............. .. ..6三、测试报告1、测试用例.. .. .............. .. .. .. .. ......62、测试结果.. .. .............. .. .. .. .. ......63、分析探讨.. .. .............. .. .. .. .. ......7四、总结 .. .............. .. .. .. .. ...... ......10五、附录(源程序). ..... ...... ... ......... ..10六、参考文献......... .. .. .. .. ..... ... ...... 16章节安排:一、问题描述1、。。2、课程设计任务编号是 1,2,……,n 的 n 个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值 m,从第一个仍开始顺时针方向自 1 开始顺序报数,报到 m 时停止报数。报 m 的人出列,将他的密码作为新的m 值,从他在顺时针方向的下一个人开始重新从 1 报数,如此下去,直到所有人全部出列为止。请设计一个程序求出出列顺序。,按照出列的顺序输出各个人的编号。:建立输入函数处理输入的数据,输入 m 的初值 n,输入每个人的密码,建立单向循环链表。:建立一个输出函数,将正确的出列顺序输出。二、设计过程1、设计思想(数据结构)首先,设计实现 瑟夫环问题的存储结构。由于约瑟夫环本身具有循环性质,考虑采用循环链表,为了统一对表中任意节点的操作,循环链表不带头结点。循环链表的结点定义为如下结构类型:struct Lnode /*定义链表*/{int number;int password;struct Lnode *next;}Lnode,*p,*q,*head;其次,建立一个不带头结点的循环链表并由头指针 first 指示。最后,设计约瑟夫环问题的算法。2、设计表示(函数说明)《1》、循环链表抽象数据类型定义struct Lnode /*定义链表*/{int number;int password;struct Lnode *next;
约瑟夫环程序设计报告书 来自淘豆网m.daumloan.com转载请标明出处.