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

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北邮数据结构实验报告线性表

北邮数据结构实验报告线性表   实验报告;课程名称:数据结构班级:软件工程实验成绩:;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(!() && time ==   ().arrival_time()){   evt= ();   osf  ();   }   if(!() && time >= finish_time){   totaljob ++;   evt = ();   agg_latency += time - _time();   osf  finish_time = time + ().getnumpages() * seconds_per_page;   }   }   osf  osf  osf  ret

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档