数据结构实践报告.doc
《数据结构实践报告.doc》由会员分享,可在线阅读,更多相关《数据结构实践报告.doc(6页珍藏版)》请在沃文网上搜索。
1、 范文范例 精心整理项目名称 一、 项目构思程序由三个模块组成:(1)输入模块:无提示语句,直接输入总人数n和报数次数m,中间用逗号隔开。(2)处理模块:将元素储存于顺序表中。在主函数中根据报数间隔确定需要删除的元素的位置,在顺序表中设置该位置并删除该位置,同时输出该位置的值。反复设置并删除直到表空。(3)输出模块:分别在DOS下和文件中,按移除元素的顺序依次显示其位置。约瑟夫环问题中的数据是人所在的位置,而这种数据是存在“第一元素、最后元素”,并且存在“唯一的前驱和后继的”,符合线性表的特点。由于需要模拟约瑟夫环的出列问题,可以采用顺序表来实现线性表,完成出列顺序的输出。核心算法主要分为两步
2、:1、确定需要删除的位置,2、设置并删除该位置。已知报数间隔m,我们可以把当前位置加上m获得需要删除的位置,如果获得的位置超过顺序表中实际元素的总长度,则可以通过减去数组的实际长度来修正(即模拟环状计数)。然后把顺序表中的当前指向位置设置为该位置,继而删掉该位置。反复进行上述确定位置和删除位置的操作,直到顺序表为空。程序主要功能模块1、输入的形式和输入值的范围:每一次输入的值为两个正整数,中间用逗号隔开。若分别设为n,m,则输入格式为:“n,m”。不对非法输入做处理,即假设输入都是合法的。2、输出的形式:输出格式1:在字符界面上输出这n个数的输出序列输出格式2:将这n个数的输出序列写入到文件中
3、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 7 13 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、 抽象数据类型的定义:为实现上述程序的功能,可以
4、用整数存储用户的输入。并将用户输入的值存储于线性表中。线性表ADT定义如下:ADT list数据对象:整形数据关系:线性关系,即(0an)。基本操作:bool remove(int &elem)/移除一个元素,被移除的元素赋给elem /如果操作成功,返回true,否则返回false bool isEmpty()/判断数组的元素是否清空,空返回true,否则返回false bool setPos(int place)/设置当前元素的位置,设置成功返回true,否则返回false int getLength()/获取数组的实际长度 2、各程序模块之间的层次(调用)关系:主函数会按设计的方法调用顺
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 实践 报告
