下载此文档

火烧连营.docx


文档分类:行业资料 | 页数:约4页 举报非法文档有奖
1/4
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/4 下载此文档
文档列表 文档介绍
Lab_2栈和队列及其应用一、实习目的与要求1、熟练掌握栈和队列结构的概念、结构特点及相关操作(构造、入/出栈(队列)等);2、熟悉顺序栈和链式栈,循环队列和链式队列结构的特点及异同;3、选择并设计合适的栈或队列结构解决实际应用问题。4、从以下题目选择至少1题完成。二、实习题目【题目】火烧连营【问题描述】“火烧连营”是三国演义中的著名典故之一广为流传,,每个字符A代表一个营帐,营帐是可燃物,其他字符代表不可燃的空白地段,文件共有40行70列。【基本要求】请你编写程序,读入文本文件的内容。提供MFC界面,输入任意点的x和y值(x<70,y<40)作为着火点,“火烧连营”后,被燃烧的营帐标上字符’X’,。【实现提示】基本思想:从着火点位置开始,按四连通思想上下左右寻找其邻居点……实现思路:开辟一个堆栈,先将着火点压栈,然后重复以下操作:栈顶点出栈并标记‘X’,同时将符合被燃烧条件的邻居点入栈……,直到栈空为止。输出:X序列,搜索可以燃烧的字符!【测试数据】【算法分析与设计】问题分析与设计思想该程序的实现需要做到文件的输入输出,栈的应用,以及MFC的使用。读取文件中的数据,然后储存在数组中,在利用算法实现其中字符的改变,最后再将字符存入文件中,保存起来。算法实现思想:开辟一个堆栈,从着火点位置开始,按四连通思想上下左右寻找其邻居点,先将着火点压栈,然后重复以下操作:栈顶点出栈并标记‘X’,同时将符合被燃烧条件的邻居点入栈……,直到栈空为止。:使用fstream的头文件以及循环成功将数据导入。。二位数组作参数传递,得把每个数组的首地址传过去才行。。需要压栈的是二位数组的下标,是一个坐标。解决方法有两个:一是定义一个Point类,作为坐标。二则是利用出入栈的有序性,两个数一组。。文件新建的位置需要自定义,但是我想要的是在当前目录下创建。最后使用windows下的一个能够获得当前路径的函数解决这个问题。。不懂MFC的使用,研究了好大一会儿你,最后放弃了。效率分析与改进设想根据设计思想,该程序的时间效率为O(n)。由于设计思想和基本算法没有变化,所以其在效率上改进方法还未想到。【源代码】 见附件。【运行结果】实习小结通过这次的实习的实习我的收获有:熟悉了文件的输入输出流。学会了在当前目录下创建文件的方法。熟悉并巩固了二维数组的参数传递问题。掌握栈和队列结构的概念、结构特点及相关操

火烧连营 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数4
  • 收藏数0 收藏
  • 顶次数0
  • 上传人花开一叶
  • 文件大小69 KB
  • 时间2019-04-26