大数据结构实验一约瑟夫问的题目

大数据结构实验一约瑟夫问的题目

ID:30215740

大小:439.50 KB

页数:16页

时间:2018-12-28

大数据结构实验一约瑟夫问的题目_第1页
大数据结构实验一约瑟夫问的题目_第2页
大数据结构实验一约瑟夫问的题目_第3页
大数据结构实验一约瑟夫问的题目_第4页
大数据结构实验一约瑟夫问的题目_第5页
资源描述:

《大数据结构实验一约瑟夫问的题目》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案HUNANUNIVERSITY课程实习报告题目:约瑟夫问题学生姓名刘海龙学生学号201326010115专业班级软件1301指导老师李晓鸿完成日期2014年11月18日精彩文档实用标准文案一、需求分析1.输入的形式和输入值的范围本程序中,输入的人数n和报数值m均为整数,n、m均大于0,输入的形式为:n,m(n、m输入时用逗号隔开)2.程序功能提供用户从键盘输入约瑟夫环的关键数据,人数n和报数值m,并显示出列顺序。3.输出的形式在DOS界面上输出这n个数的输出序列。4.测试数据①输入(n,m均为正

2、整数,且n>m)10,3输出36927185104②输入(n,m均为正整数,且n

3、下的n-1个编号均有唯一的后继,除第一元素1外,剩下的n-1个编号均有唯一的前驱,符合线性结构,故应以线性表实现该结构。ADTalist{数据对象:D={ai

4、ai∈int,i=1,2,…,n,n≥0}.数据关系:Rl={

5、ai-1,ai∈D,i=2,…,n}基本操作:InitList(&L,size)//构造一个空线性表L。Append(&L,e)//新元素e入表Remove(&L,i)//删除表中第i个元素,即将i之后的元素往前移一位。DesList(&L)//销毁线性表,释放内存空间

6、}无论选择哪种数据结构都应有一个结构初始化操作及相应的结构销毁操作,本程序的结构初始化操作为:InitList(&L,size),结构销毁操作为DesList(&L)。在将n个人的编号存进线性表时,需要一个添加操作,故设计Append(&L,e),其用于向线性表表尾添加新元素e。“出列”相当于删除线性表中某个指定的元素,这就需要一个删除操作,故设计Remove(&L,i),其根据下标索引需要删除的元素,“删除”即相当于将该元素之后的所有元素向前移动一位。算法的基本思想n个人的编号为1,2,3,…,n(n>0

7、),并且这n个人根据编号大小依序排列,即将这n个编号依序存入线性表中,报数值m为正整数。①.编号为1的人从1开始依序报数,即从线性表的第一个元素起开始访问,并依序逐个访问它的下一个元素。②.当轮到剩余人群中编号最大的人报数时,剩余人中编号最小的作为他的下一位,继续报数,即当线性表的表尾元素访问完后,将表头元素作为下一个访问对象。③.数到m时报数停止,并且数到m的人出列,他的下一位从1开始重新报数。即访问进行到第m次时停止,将第m次访问到的元素从表中删除,并在DOS界面上输出对应的编号,然后从它的下一个元素开

8、始新一轮的访问(每轮m次)。④精彩文档实用标准文案.重复步骤2、3,直到出列n个人为止,即当表内元素均被删除为止,此时,整个出列序列已经输出在DOS界面上。程序的流程程序由三个模块组成:(1)输入模块:完成人数和报数值的输入,存入变量n,m中。(2)功能模块:设计一个实现约瑟夫问题的函数Joseph(&L,m),模拟循环报数,每出列一个元素,通过输出模块将其显示在屏幕上。(3)输出模块:屏幕上显示出列的元素。三、详细设计物理数据类型输入的人数n与报数值m均应为正整数,为了能够存储和处理,变量n,m采用C语言

9、中的int定义变量。因为线性表是对n个人的编号1~n进行操作(编号1~n符合线性结构),过程中无需添加新的元素,即表内元素最多只有n个,为了减小空间上的开销,线性表采用顺序表来实现其物理结构。线性表的每个元素存储的是n个人的编号1~n中的一个,所以线性表中元素类型定义为整型。#defineDefaultListSize100//线性表默认长度为100typedefintElem;typedefintElemType;typedefstructList{Elem*listArray;//存储空间基址intle

10、ngth;//当前长度intmaxsize;//最大长度}Alist;voidInitList(Alist&L,intsize=DefaultListSize)//构造一个空线性表L{L.maxsize=size;//若未传参,size取默认值100L.listArray=newElem[L.maxsize];L.length=0;}voidDesList(Alist&L)//销毁线性表,释放内存空间{delet

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。