电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实践报告

数据结构实践报告_第1页
1/7
数据结构实践报告_第2页
2/7
数据结构实践报告_第3页
3/7
数据结构实践报告学号: 名:班级: NET2 班指导老师:时间: 2016-12-21项目名称一、 项目构思程序由三个模块组成:(1)输入模块:无提示语句,直接输入总人数 n 和报数次数 m,中间用逗号隔开。(2)处理模块:将元素储存于顺序表中。在主函数中根据报数间隔确定需要删除的元素的位置,在顺序表中设置该位置并删除该位置,同时输出该位置的值。反复设置并删除直到表空。(3)输出模块:分别在 DOS 下和文件中,按移除元素的顺序依次显示其位置。约瑟夫环问题中的数据是人所在的位置,而这种数据是存在“第一元素、最后元素”,并且存在“唯一的前驱和后继的”,符合线性表的特点。由于需要模拟约瑟夫环的出列问题,可以采用顺序表来实现线性表,完成出列顺序的输出。核心算法主要分为两步:1、确定需要删除的位置,2、设置并删除该位置。已知报数间隔 m,我们可以把当前位置加上 m 获得需要删除的位置,如果获得的位置超过顺序表中实际元素的总长度,则可以通过减去数组的实际长度来修正(即模拟环状计数)。然后把顺序表中的当前指向位置设置为该位置,继而删掉该位置。反复进行上述确定位置和删除位置的操作,直到顺序表为空。程序主要功能模块1、输入的形式和输入值的范围:每一次输入的值为两个正整数,中间用逗号隔开。若分别设为 n,m,则输入格式为:“n,m”。不对非法输入做处理,即假设输入都是合法的。2、输出的形式:输出格式 1:在字符界面上输出这 n 个数的输出序列输出格式 2:将这 n 个数的输出序列写入到文件中3、程序所能达到的功能:对于输入的约瑟夫环长度 n 和间隔 m,输出约瑟夫环的出列顺序。4、测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。正确:输入:10,3输出:3 6 9 2 7 1 8 5 10 4精选输入:41,3输出:3 6 9 12 15 18 21 24 27 30 33 36 39 1 5 10 14 19 23 28 32 37 41 713 20 26 34 40 8 17 29 38 11 25 2 22 4 35 16 31错误:输入:10 3输出:6 8 7 1 3 4 2 9 5 10二、程序清单1、 抽象数据类型的定义:为实现上述程序的功能,可以用整数存储用户的输入。并将用户输入的值存储于线性表中。线性表 ADT 定义如下:ADT list数据对象:整形数据关系:线性关系,即(0≤a<n)。基本操作:bool remove(int &elem)//移除一个元素,被移除的元素赋给 elem//如果操作成功,返回 true,否则返回...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实践报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部