亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? machine.cpp

?? data struct algorithm and application in c++ 一書的課后答案源碼
?? CPP
字號:
// machine shop simulation

#include <iostream.h>
#include "lqueue.h"
#include "xcept.h"
#include "job.h"
#include "machine.h"
#include "eventl.h"

// globals
long Now = 0;           // current time
int m;                  // number of machines
long n;                 // number of jobs
long LargeTime = 10000; // finish before this time
EventList *EL;          // pointer to event list
Machine *M;             // array of machines

bool MoveToNextMachine(Job *J)
{// Move J to machine for next task.
 // Return false if no next machine for this job.
  if (J->TaskQ.IsEmpty()) {// no next task
     cout << "Job " << J->ID << " has completed at "
          << Now << " Total wait was "
          << (Now-J->Length) << endl;
     return false;}
  else {// job has a next task
        // get machine for next task
        int p = J->TaskQ.First().machine;
        // put on p's wait queue
        M[p].AddJob(J);
        J->ArriveTime = Now;
        // if p idle, schedule immediately
        if (EL->NextEvent(p) == LargeTime) {
           // machine is idle
           ChangeState(p);}
        return true;}
}

Job* ChangeState(int p)
{// Task on machine p has finished, schedule next one.
 // Return last job.
   Job* LastJob;
   if (!M[p].Active) {// in idle or change-over state
      LastJob = 0;
      // wait over, ready for new job
      if (M[p].JobQ.IsEmpty()) // no waiting job
            EL->SetFinishTime(p,LargeTime);
      else {// take job off Q and work on it
         M[p].JobQ.Delete(M[p].Active);
         M[p].TotalWait +=
              Now - M[p].Active->ArriveTime;
         M[p].NumTasks++;
         long t = M[p].Active->DeleteTask();
         EL->SetFinishTime(p, Now + t);}
      }
   else {// task has just finished on M[p]
         // schedule change-over time
         LastJob = M[p].Active;
         M[p].Active = 0;
         EL->SetFinishTime(p, Now + M[p].ChangeTime);}
   return LastJob;
}

void InputData()
{// Input machine shop data.
   cout << "Enter number of machines and jobs" << endl;
   cin >> m >> n;
   if (m < 1 || n < 1) throw BadInput();

   // create event and machine queues
   EL = new EventList(m,LargeTime);
   M = new Machine [m+1];
   
   // input the machine wait times
   cout << "Enter change-over times for machines"
        << endl;
   for (int j = 1; j <= m; j++) {
      long ct;  // change-over time
      cin >> ct;
      if (ct < 0) throw BadInput();
      M[j].SetChange(ct);
      }
   // input the n jobs
   Job *J;
   for (int i = 1; i <= n; i++) {
      cout << "Enter number of tasks for job " << i
           << endl;
      int tasks;  // number of tasks
      int first;  // machine for first task of job
      cin >> tasks;
      if (tasks < 1) throw BadInput();
      J = new Job(i);
      cout << "Enter the tasks (machine, time)"
           << " in process order" << endl;
      for (int j = 1; j <= tasks; j++) {// get tasks
         int p;    // machine number
         long tt;  // task time
         cin >> p >> tt;
         if (p < 1 || p > m || tt < 1) throw BadInput();
         if (j == 1) first = p; // job's first machine
         J->AddTask(p,tt);  // add task to task queue
         }
      M[first].AddJob(J);   // add job to machine for
      }                     // first task
}

void StartShop()
{// Load first jobs onto each machine.
   for (int p = 1; p <= m; p++)
      ChangeState(p);
}

void Simulate()
{// Process all n jobs to completion.
   int p;
   long t;
   while (n) {// at least one job left
      EL->NextEvent(p,t); // next machine to finish
      Now = t; // present time
      // change job on machine p
      Job *J = ChangeState(p);
      // move job J to its next machine
      // decrement n if J has finished
      if (J && !MoveToNextMachine(J)) n--;
      }
}

void OutputStats()
{// Output wait times at machine.
   cout << "Finish time = " << Now << endl;
   long TotalWait, NumTasks;
   for (int p = 1; p <= m; p++) {
      M[p].Stats(TotalWait, NumTasks);
      cout << "Machine " << p << " completed "
           << NumTasks << " tasks" << endl;
      cout << "The total wait time was " << TotalWait;
      cout << endl << endl;
      }
}

void main(void)
{// Machine shop simulation.
   try {
      InputData();    // get machine and job data
      StartShop();    // initial machine loading
      Simulate();     // run all jobs through shop
      OutputStats();} // output macine wait times
   catch (...) {
      cout << "An exception has occurred" << endl;}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人综合在线网站| 久久久久久久久99精品| 欧美mv日韩mv| 一区二区三区高清不卡| 国产一区在线观看视频| 在线影院国内精品| 中文字幕 久热精品 视频在线| 亚洲国产精品视频| 白白色 亚洲乱淫| 精品三级在线看| 亚洲成人av电影| 99精品偷自拍| 久久香蕉国产线看观看99| 亚洲图片欧美综合| 高清在线不卡av| 日韩精品一区二区三区蜜臀| 亚洲午夜视频在线| 91亚洲精华国产精华精华液| 久久精品在线观看| 麻豆91在线播放免费| 欧美日韩国产小视频在线观看| 国产精品美女久久久久高潮| 国产一区二区电影| 欧美xxx久久| 久久超碰97中文字幕| 欧美伦理视频网站| 亚洲bt欧美bt精品| 欧美日韩视频第一区| 亚洲欧美国产毛片在线| 不卡av免费在线观看| 欧美国产1区2区| 成人丝袜18视频在线观看| 国产视频一区在线播放| 国产乱国产乱300精品| 久久久精品日韩欧美| 国产成人8x视频一区二区| 日本一区二区不卡视频| 丰满少妇在线播放bd日韩电影| 久久精品免费在线观看| 成人av网站大全| 中文字幕欧美日韩一区| kk眼镜猥琐国模调教系列一区二区| 国产色产综合产在线视频| 国产成人aaa| 亚洲欧美日韩系列| 欧美午夜精品一区| 青青草国产成人av片免费| 精品毛片乱码1区2区3区| 国模无码大尺度一区二区三区| 久久你懂得1024| av欧美精品.com| 亚洲在线观看免费| 91精品欧美一区二区三区综合在| 免费日韩伦理电影| 久久久精品国产免大香伊| 国产不卡免费视频| 玉足女爽爽91| 3d动漫精品啪啪| 国产精品夜夜爽| 亚洲一区精品在线| 日韩欧美的一区二区| 国产1区2区3区精品美女| 一区二区三区波多野结衣在线观看| 在线国产电影不卡| 极品少妇xxxx精品少妇偷拍| 国产精品拍天天在线| 在线观看91精品国产入口| 奇米影视在线99精品| 中文字幕精品一区二区精品绿巨人| 91麻豆国产精品久久| 奇米777欧美一区二区| 国产欧美一区二区精品忘忧草| 99精品欧美一区二区蜜桃免费| 午夜精品福利久久久| 久久免费美女视频| 欧美性xxxxx极品少妇| 精品一区二区三区在线播放| 亚洲少妇屁股交4| 91精品国产综合久久精品| 国产成人在线观看| 亚洲6080在线| 国产精品久久久久天堂| 日韩一区二区不卡| 91精品福利视频| 国产精品乡下勾搭老头1| 亚洲午夜精品一区二区三区他趣| 久久久电影一区二区三区| 欧美日韩在线不卡| 99在线精品视频| 国产一区二区三区在线观看免费| 亚洲女同一区二区| 国产日韩欧美亚洲| 日韩三级精品电影久久久 | 中文字幕在线一区免费| 日韩欧美一区二区免费| 在线观看国产一区二区| 成人avav影音| 国产一区二区在线电影| 日韩电影一二三区| 一区二区三区在线免费| 中文字幕中文字幕一区| 久久精品欧美日韩精品| 亚洲精品在线免费播放| 91精品国产入口| 欧美日韩一区二区三区高清| a4yy欧美一区二区三区| 国产寡妇亲子伦一区二区| 国产在线精品一区二区| 日韩不卡在线观看日韩不卡视频| 夜夜亚洲天天久久| 一区二区三区四区在线播放 | 亚洲色图另类专区| 中文无字幕一区二区三区| 久久综合一区二区| 精品久久一区二区| 精品剧情在线观看| 2020国产精品| 欧美韩国一区二区| 国产精品久久久久久久裸模| 久久久99精品免费观看| 国产欧美一区二区精品久导航 | 欧美一区二区三区精品| 欧美伦理电影网| 日韩欧美国产午夜精品| 日韩欧美激情四射| 欧美精品一区二区久久婷婷| 日韩美女一区二区三区| 精品电影一区二区三区| 久久久三级国产网站| 欧美国产欧美亚州国产日韩mv天天看完整| 久久女同互慰一区二区三区| 精品国产一二三| 国产日韩欧美综合在线| 中文字幕在线一区| 亚洲午夜av在线| 狂野欧美性猛交blacked| 狠狠狠色丁香婷婷综合激情| 国产福利一区二区三区视频 | 裸体在线国模精品偷拍| 精品在线播放免费| 成人久久18免费网站麻豆| 91亚洲国产成人精品一区二三 | 久久综合一区二区| 国产欧美日韩在线| 自拍偷拍欧美激情| 图片区日韩欧美亚洲| 国产一区二区三区| 色综合天天综合网国产成人综合天| 91久久精品一区二区三| 日韩亚洲欧美高清| 国产精品美女久久福利网站| 亚洲成a人在线观看| 狠狠色狠狠色合久久伊人| 91亚洲精品一区二区乱码| 91精品午夜视频| 国产精品国产三级国产a | 亚洲视频一二区| 天天做天天摸天天爽国产一区| 国产综合色视频| 色婷婷综合久久久| 日韩精品专区在线| 亚洲色大成网站www久久九九| 日韩精品成人一区二区三区 | 久久先锋影音av| 伊人性伊人情综合网| 精品一区二区在线看| 欧美影视一区二区三区| 国产欧美日韩综合| 免费黄网站欧美| 色噜噜狠狠色综合中国| 精品少妇一区二区三区日产乱码| 一区二区三区四区精品在线视频| 国模大尺度一区二区三区| 欧美三级视频在线播放| 国产精品萝li| 极品少妇xxxx精品少妇偷拍| 欧美日高清视频| 亚洲免费观看高清| 国产乱人伦偷精品视频免下载| 欧美日韩高清不卡| 亚洲欧洲一区二区在线播放| 久久电影网站中文字幕| 欧美日韩国产高清一区二区 | www国产精品av| 天天av天天翘天天综合网色鬼国产| 成人福利视频网站| 久久综合狠狠综合久久综合88| 亚洲成人av一区| 欧美综合在线视频| 亚洲精品v日韩精品| 成a人片国产精品| 国产日韩欧美麻豆| 国产电影一区二区三区| 精品国产伦一区二区三区观看体验| 图片区小说区国产精品视频| 欧美在线影院一区二区| 亚洲激情图片qvod| 91国产精品成人| 夜夜嗨av一区二区三区网页| 一本久道中文字幕精品亚洲嫩|