北邮数据结构实验报告线性表

上传人:ni****g 文档编号:469756989 上传时间:2024-02-17 格式:DOC 页数:6 大小:26KB
返回 下载 相关 举报
北邮数据结构实验报告线性表_第1页
第1页 / 共6页
北邮数据结构实验报告线性表_第2页
第2页 / 共6页
北邮数据结构实验报告线性表_第3页
第3页 / 共6页
北邮数据结构实验报告线性表_第4页
第4页 / 共6页
北邮数据结构实验报告线性表_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《北邮数据结构实验报告线性表》由会员分享,可在线阅读,更多相关《北邮数据结构实验报告线性表(6页珍藏版)》请在金锄头文库上搜索。

1、北邮数据结构实验报告线性表实验报告 ; 课程名称:数据结构班级:软件工程实验成绩: ;1206; 实验名称:打印机队列模拟学号: XX4848 批;程序的设计;实验编号:实验一姓名:实验日期:XX年5月2;一、实验目的;对队列的理解;对STL中的queue的使用;实 验仿真一个网络打印过程 ; 二、实验内容与实验步骤流程图 ; 这个任务队列的测试使用 STL队列适配器;具体地说,每一行 中包含的信息是实验报告课程名称:数据结构 班级:软件工程实验成绩:1206实验名称:打印机队列模拟学号: XX4848 批阅教师签字:程序的设计实验编号:实验一 姓名:实验日期:XX年5月24日一、实验目的对队

2、列的理解对STL中的queue的使用实验仿真一个网络打印过程二、实验内容与实验步骤流程图这个任务队列的测试使用 STL 队列适配器。程序要求完成模拟的实现共享打印机。这个打印机使用先进先出队列 仿真是通过读取和处理事件数据文件的列表。一个有效的数 据文件中的每一行包含信息打印作业和提交这份工作的时 间。具体地说 , 每一行中包含的信息是提交工作的时间( 以秒为单位 ), 和在页面的工作长及工作的计算机的名称。在模 拟的开始 , 每个这些事件的每一个应该被程序所读,存储在 继承工作负载队列。程序应该通过循环递增计数器或 while-loop 模拟时间的流逝。 程序应该将计数器初始化为零 然后依次

3、增加 1 秒。当模拟等于当前时间的打印作业的提交 时间在工作队列的前面,一个打印作业完成。当这一切发生 的时候 , 从工作队列取出这个事件 , 然后把它放在另一个队 列对象。这个队列对象存储已完成的打印作业。当程序仿真 其他的打印工作的时候,这些工作在队列等待。Win8, Visual C+四、实验过程与分析 (1) 实验主要函数及存储结构 包括主函数和主要的功能 仿真类的声明 仿真类的定义 事件类的声明- 事件类的定义作业类的声明 作业类的定义 包括任意打印作业数的数据文件 输出包括打印较大作业的数据文件 输出(2) 实验代码 #ifndef FIFO_H / #define FIFO_H

4、#include class fifo:public simulator protected:queue waiting; priority_queue priority_waiting;public:fifo(int seconds_per_page); void simulate(string file);bool operator #endif #include /#include using namespace std;fifo:fifo(intseconds_per_page):simulator(seconds_per_page) void fifo:simulate(string

5、 file)int finish_time = 0;float agg_latency = 0;int totaljob =0;event evt;if(arbitrary)!= string:npos)string outfile =;ofstream osf(_str();loadworkload(file);timeosf for(int=1;!()|!();time+) while(!() & time =().arrival_time()evt= ();osf ();if(!() & time = finish_time)totaljob +;evt = ();agg_latency

6、 += time - _time();osffinish_time = time + ().getnumpages()osf osf osf return; if(bigfirst) != string:npos) string outfile = ;ofstream osf(_str(); loadworkload(file);osf for(int time =1;!priority_()|!();time+) while(!() & time = ().arrival_time() evt= ();osf ();if(!priority_() & time = finish_time)

7、totaljob +;evt = priority_(); agg_latency += time - _time();osffinish_time = time + ().getnumpages()seconds_per_page; osfosfosfreturn;cerr cerr bool operator return ().getnumpages() ().getnumpages();五、实验结果总结 经测试,功能较为完整。代码流程简图如下: 通过这次实验,我了解了有关队列方面的知识。掌握 了队列的逻辑结构,抽象数据类型,队列的存储方式等。运 用先进先出表,仿真了网络打印队列。这都使我对数据结构 的学习有了新的认识与帮助。在实验过程中,我也遇到了许 多困难,从开始时对队列运算的不熟悉,到逐渐查找资料, 从而完成了实验 ; 六、附录 ;- 数据结构与算法分析以及 网上资料 ;逐渐查找资料,从而完成了实验。在今后的学习中, 我将继续努力,加强对堆栈,队列等知识的学习,以达到精 益求精。六、附录- 数据结构与算法分析以及网上资料

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号