实验七优先队列与堆实验报告(共7页).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《实验七优先队列与堆实验报告(共7页).doc》由会员分享,可在线阅读,更多相关《实验七优先队列与堆实验报告(共7页).doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验报告部分HUNAN UNIVERSITY课程实习报告题 目: 优先队列与堆 学生姓名 廖嘉琦 学生学号 专业班级 通信一班 指导老师 夏艳 完 成 日 期 2010-11-2 专心-专注-专业一、需求分析(1) 本程序要求利用最小值堆实现一个优先队列。(2) 对于优先队列应该支持如下操作:初始化队列的init操作;获得队列中元素个数的size操作;判定队列是否为空的empty操作;获得队列中最优先的元素的值的top操作;向队列中插入一个元素的push操作;删除队列中最优先的元素的pop操作。(3) 利用优先队列存入所有病人的信息(编号和病情严重程度)。最后利用优先
2、队列获得病人看病的次序。(4) 堆的数组的ID和和Priority由用户通过键盘输入,其取值范围为(0, 216)。不对非法输入做处理,即假设输入都是合法的。(5) 在Dos界面输出病人看病的次序。(6) 测试数据输入1 152 33 54 205 101 1输出23514二、概要设计抽象数据类型为实现上述程序的功能,应以整数存储用户的输入,以及计算出的结果。算法的基本思想(1) 根据题目要求,最小值堆采用数组作为物理存储结构,每个元素是一个结构体变量,包含编号ID和病情严重程度Priority值,以Priority进行排序,最后由优先队列获得病人看病的次序。 程序的流程程序由三个模块组成:(
3、1) 输入模块:完成输入结构体数组中每个元素的ID和Priority节点个数,存储在struct patient p30中。(2) 处理模块:再定义一个类,将该数组作为参数传给类,使数组变成一个优先队列。(3) 输出模块:屏幕上显示排序后的病人看病次序。三、详细设计物理数据类型题目要求输入的正整数的取值范围在(0, 216)之间,为了能够存储,采用C语言中的整型定义变量。在定义一个结构体变量,存储次序和病情程度。struct patientint ID;int Priority; 算法的具体步骤算法流程图如下开始输入病人的ID号和病情程度int a,b; cinab;struct patien
4、t p30; int i=0;no(a!=-1)&(b!=-1)yespi.ID=a;pi.Priority=b;i+; cina b;minheap dui(p,i,30);Struct patient patient1;J=0;dui.pop(patient1); j+;coutpatient1.IDendl;yesnoJi?结束输入和输出的格式输入6 157 38 59 2010 10 /输入病人的ID号和Priority1 1 /以-1结束输出23514 /输出病人的次序四、调试分析略。五、测试结果输入11 1512 313 514 2015 10 1 1 输出23514 六、用户使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 优先 队列 报告
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内