数据结构--约瑟夫环课程设计报告
《数据结构--约瑟夫环课程设计报告》由会员分享,可在线阅读,更多相关《数据结构--约瑟夫环课程设计报告(9页珍藏版)》请在毕设资料网上搜索。
1、课程设计报告课程设计报告 一、一、需求分析需求分析 1、 本演示程序中,利用单向循环链表存储结构模拟约瑟夫问题的进行。程序运行后, 首先要求用户指定初始报数上限值,然后读取个人的密码。可设 n30。此题所用 的循环链表中不需要“头结点” ,因此在程序设计中应注意空表和非空表的界限。 2、 演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息”之 后,由用户在键盘上输入演示程序中规定的运算命令:相应的输入数据和运算结果 显示在其后。 3、 程序执行的命令包括: 1) 构造约瑟夫环;2)执行约瑟夫环,并输出出列人的序号以及相应的密码; 3)结束。 4、测试数据 1)m 的初始值为
2、20; 2)n=7,7 个人的密码依次为:3、1、7、2、4、8、4。 3)首先 m 值为 6,正确的出列顺序应为 6、1、4、7、2、3、5。 二、概要设计二、概要设计 为实现上述程序功能, 应以单向循环链表表示约瑟夫环。 为此, 需要两个抽象数据类型: 单向循环链表和约瑟夫环。 1) 、单向循环链表的抽象数据类型定义为: ADT List 数据对象:D=aiaiElemset,i=1,2,n,n0 数据关系:R1=a(i-1),aia(i-1),aiD,i=2,n 基本操作: InitList( /元素类型 Typedef struct NodeType ElemType data; El
3、emType *next; ElemType, *LinkTypet; /结点类型,指针类型 void FreeNode(LinkType If(!s) return NULL; s-data=p-data; s-next=NULL; return s; ElemType Elem(LinkType p) /若指针 p!=NULL,则返回 p 所指结点的数据元素 LinkType SuccNode(LinkType p ) /若指针 p!=NULL,则返回指向 p 所指结点的后继元素的指针, /否则返回 NULL 2、根据单向循环链表的基本操作特点,有序表采用有序链表实现。链表设头、尾两个指针
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中设计图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 约瑟夫 课程设计 报告
