北邮数据结构实验报告线性表.docx_第1页
北邮数据结构实验报告线性表.docx_第2页
北邮数据结构实验报告线性表.docx_第3页
北邮数据结构实验报告线性表.docx_第4页
北邮数据结构实验报告线性表.docx_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北邮数据结构实验报告线性表北邮数据结构实验报告线性表 实验报告;课程名称:数据结构班级:软件工程实验成 绩:;1206;实验名称:打印机队列模拟学号:XX4848 批;程 序的设计;实验编号:实验一姓名:实验日期:XX 年 5 月 2;一、 实验目的;对队列的理解;对 STL 中的 queue 的使用;实验仿 真一个网络打印过程;二、实验内容与实验步骤流程图;这 个任务队列的测试使用 STL 队列适配器;具体地说,每一行 中包含的信息是 实 验 报 告 课程名称:数据结构 班级:软件工程实验成绩: 1206 实验名称:打印机队列模拟学号:XX4848 批阅教师 签字: 程序的设计 实验编号:实验一 姓名: 实验日期:XX 年 5 月 24 日 一、实验目的 对队列的理解 对 STL 中的 queue 的使用 实验仿真一个网络打印过程 二、实验内容与实验步骤流程图 这个任务队列的测试使用 STL 队列适配器。程序要求 完成模拟的实现共享打印机。这个打印机使用先进先出队 列。仿真是通过读取和处理事件数据文件的列表。一个有 效的数据文件中的每一行包含信息打印作业和提交这份工 作的时间。 具体地说,每一行中包含的信息是提交工作的时间(以 秒为单位),和在页面的工作长及工作的计算机的名称。在 模拟的开始,每个这些事件的每一个应该被程序所读,存储 在继承工作负载队列。程序应该通过循环递增计数器或 while-loop 模拟时间的流逝。程序应该将计数器初始化为 零,然后依次增加 1 秒。当模拟等于当前时间的打印作业的 提交时间在工作队列的前面,一个打印作业完成。当这一 切发生的时候,从工作队列取出这个事件,然后把它放在另 一个队列对象。这个队列对象存储已完成的打印作业。当 程序仿真其他的打印工作的时候,这些工作在队列等待。 Win8,Visual C+ 四、实验过程与分析 (1)实验主要函数及存储结构 包括主函数和主要的功能 仿真类的声明 仿真类的定义 事件类的声明 - 事件类的定义 作业类的声明 作业类的定义 包括任意打印作业数的数据文件 输出 包括打印较大作业的数据文件 输出 (2)实验代码 #ifndef FIFO_H / #define FIFO_H #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(int seconds_per_page):simulator(seconds_per_page) void fifo:simulate(string 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); osf for(int time =1;!()|!();time+) while(!() osf (); if(!() evt = (); agg_latency += time - _time(); osf finish_time = time + ().getnumpages() * seconds_per_page; osf osf osf return; if(“bigfirst“) != string:npos) string outfile = “; ofstream osf(_str(); loadworkload(file); osf for(int time =1;!priority_()|!();time+) while(!() osf (); if(!priority_() evt = priority_(); agg_latency += time - _time(); osf finish_time = time + ().getnumpages() * seconds_per_page; osf osf osf return; cerr cerr bool operator return ().getnumpages() ().getnumpages(); 五、实验结果总结 经测试,功能较为完整。代码流程简图如下: 通过这次实验,我了解了有关队列方面的知识。掌握 了队列的逻辑结构,抽象数据类型,队列的存储方式等。 运用先进先出表,仿真了网络打印队列。这都使我对数据 结构的学习有了新的认识与帮助。在实验过程中,我也遇 到了许多困难,从开始时对队列运算的不熟悉,到逐渐查 找

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论