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

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

?? machine.cpp

?? 這是一本數據結構與算法書中所有算法的源代碼,內容非常豐富,值得一看.
?? 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一区二区三区免费野_久草精品视频
中文字幕 久热精品 视频在线| 欧美激情一区二区| 国产成人在线视频网址| 夜夜嗨av一区二区三区网页 | 亚洲国产毛片aaaaa无费看| 久久综合色天天久久综合图片| 在线亚洲欧美专区二区| 国产乱子伦视频一区二区三区| 亚洲一区二区偷拍精品| 国产精品色哟哟| 欧美精品一区二区三区高清aⅴ| 91极品视觉盛宴| 成人a免费在线看| 国产美女在线精品| 日本成人在线电影网| 亚洲精品高清在线观看| 日本一区二区三区dvd视频在线 | 久久精品欧美日韩精品| 在线播放91灌醉迷j高跟美女 | 亚洲女与黑人做爰| 欧美激情综合在线| 精品成人一区二区三区| 欧美一区在线视频| 欧美日韩一区二区在线观看| av午夜精品一区二区三区| 国产一区久久久| 欧美亚洲国产一区在线观看网站| 国精产品一区一区三区mba桃花| 亚洲v日本v欧美v久久精品| 亚洲欧洲综合另类| 久久嫩草精品久久久久| 日韩欧美国产三级| 日韩欧美一区二区在线视频| 欧美日韩aaa| 欧美肥妇bbw| 欧美精品国产精品| 欧美综合一区二区| 在线观看亚洲精品| 欧美私人免费视频| 欧美剧情片在线观看| 欧美片在线播放| 欧美日韩国产色站一区二区三区| 欧美三级中文字幕在线观看| 欧洲精品一区二区三区在线观看| 91麻豆swag| 91极品美女在线| 欧美日韩大陆在线| 日韩精品最新网址| 欧美白人最猛性xxxxx69交| 69久久99精品久久久久婷婷| 777久久久精品| 日韩欧美一区二区免费| 精品成人a区在线观看| 久久精品免费在线观看| 国产精品嫩草久久久久| 亚洲美女区一区| 亚洲chinese男男1069| 视频一区二区欧美| 日本 国产 欧美色综合| 国产在线看一区| 成人精品免费视频| 91成人看片片| 日韩一区二区精品葵司在线| 久久午夜羞羞影院免费观看| 欧美激情在线一区二区| 亚洲一区二区四区蜜桃| 国产一区二区三区香蕉| 久久精品国产成人一区二区三区| 欧美日韩一级黄| 成人激情小说乱人伦| eeuss鲁一区二区三区| 欧美国产日韩亚洲一区| 97久久精品人人做人人爽50路| aaa亚洲精品| 精品久久久久久久人人人人传媒| 亚洲国产视频在线| 国产sm精品调教视频网站| 欧美一区二区三区在线看| 亚洲女与黑人做爰| 99久久久免费精品国产一区二区| 久久综合色播五月| 全国精品久久少妇| 欧美精品在线观看一区二区| 亚洲精品日韩综合观看成人91| 丁香网亚洲国际| 国产视频一区二区三区在线观看| 日韩成人一区二区三区在线观看| 欧美亚洲综合另类| 亚洲免费av在线| 91亚洲精品一区二区乱码| 亚洲国产岛国毛片在线| 国产资源在线一区| 亚洲超丰满肉感bbw| 91蜜桃在线观看| 成人欧美一区二区三区白人 | 国产成人a级片| 精品国产免费久久| 久久99精品网久久| 日韩亚洲欧美综合| 美女网站视频久久| 精品国产麻豆免费人成网站| 免费观看日韩av| 欧美一二三四在线| 久久精品久久久精品美女| 日韩一区二区三| 激情偷乱视频一区二区三区| 精品国产99国产精品| 九九热在线视频观看这里只有精品| 91精品国产色综合久久不卡电影| 日韩精品亚洲一区二区三区免费| 9191成人精品久久| 麻豆成人久久精品二区三区小说| 日韩视频免费观看高清完整版在线观看| 男人的天堂亚洲一区| 欧美一区二区久久| 极品少妇xxxx精品少妇偷拍 | 亚洲国产日产av| 欧美日韩精品三区| 蜜桃av一区二区在线观看| 精品欧美久久久| 国产经典欧美精品| 国产精品麻豆欧美日韩ww| 色婷婷狠狠综合| 亚洲观看高清完整版在线观看| 欧美一区永久视频免费观看| 国产专区欧美精品| 国产精品国产三级国产普通话蜜臀 | 亚洲国产精品成人综合色在线婷婷 | 天天综合色天天| 精品久久久久久久久久久久久久久 | 成人美女在线观看| 亚洲美女视频在线| 91.麻豆视频| 国产91丝袜在线播放0| 亚洲色图在线看| 日韩一区二区三区电影在线观看| 国产精品77777竹菊影视小说| 国产精品久久久久久久久搜平片| 欧美综合在线视频| 韩国av一区二区三区在线观看| 国产精品全国免费观看高清| 在线免费不卡电影| 九九精品一区二区| 亚洲女爱视频在线| 日韩免费观看高清完整版在线观看| 国产自产视频一区二区三区| 一区二区三区四区不卡在线| 樱花草国产18久久久久| 精品美女一区二区三区| 91在线国内视频| 久久精品99久久久| 亚洲精品视频免费看| 日韩午夜三级在线| 99国产一区二区三精品乱码| 日韩黄色片在线观看| 日本一区二区成人| 在线综合+亚洲+欧美中文字幕| 成人免费不卡视频| 美女一区二区久久| 一区二区三区高清| 久久午夜羞羞影院免费观看| 欧美三级电影网| 懂色一区二区三区免费观看 | 在线视频一区二区三区| 韩国午夜理伦三级不卡影院| 一区二区三区精品| 国产人久久人人人人爽| 欧美电影一区二区三区| 成人美女在线视频| 狠狠色2019综合网| 天天操天天色综合| 亚洲色图在线视频| 国产三级欧美三级| 日韩欧美国产一区在线观看| 色94色欧美sute亚洲线路一ni| 国产99久久久国产精品潘金网站| 天天亚洲美女在线视频| 亚洲精品综合在线| 亚洲国产精品国自产拍av| 亚洲精品一区二区三区福利| 51精品国自产在线| 欧美在线短视频| 色综合久久综合网| 99re这里都是精品| 成人激情小说乱人伦| 国产很黄免费观看久久| 麻豆中文一区二区| 亚洲成人激情av| 亚洲资源中文字幕| 亚洲精品成人天堂一二三| 国产精品私人自拍| 国产欧美日韩不卡免费| 欧美精品一区二区三区蜜桃| 制服丝袜中文字幕亚洲| 欧美亚洲国产一区二区三区va| 色婷婷久久综合| 色婷婷亚洲婷婷| 91久久一区二区| 欧洲色大大久久| 在线视频一区二区三|