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

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

?? machine.cpp

?? 數(shù)據(jù)結(jié)構算法與應用 --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一区二区三区免费野_久草精品视频
91精品综合久久久久久| 亚洲美女视频在线| 日韩视频在线一区二区| 在线综合+亚洲+欧美中文字幕| 欧美亚洲动漫另类| 欧美三级资源在线| 欧美高清你懂得| 91精品国产综合久久精品麻豆 | 欧美在线高清视频| 91久久精品一区二区三区| 91美女片黄在线观看91美女| 99久久国产综合色|国产精品| 99久久免费精品| 欧美在线一区二区| 欧美色涩在线第一页| 宅男在线国产精品| 26uuu色噜噜精品一区二区| 2020国产成人综合网| 国产日产欧美一区| 亚洲精品免费看| 亚洲高清免费视频| 久久精品理论片| 成人三级在线视频| 一本到不卡免费一区二区| 欧美午夜精品理论片a级按摩| 欧美日韩国产综合久久| 精品国产一二三| 国产精品拍天天在线| 亚洲免费在线电影| 亚洲成人自拍偷拍| 精品一区二区三区蜜桃| 成人午夜视频在线观看| 色88888久久久久久影院按摩| 欧美日韩成人一区二区| 久久久综合激的五月天| ㊣最新国产の精品bt伙计久久| 亚洲午夜久久久久中文字幕久| 蜜乳av一区二区| aaa欧美大片| 制服视频三区第一页精品| 国产欧美一区二区三区在线看蜜臀 | 欧美巨大另类极品videosbest| 欧美成人一区二区三区在线观看| 日本一区二区三区电影| 亚洲图片自拍偷拍| 国产一区久久久| 欧美午夜宅男影院| 久久嫩草精品久久久久| 亚洲综合成人在线| 国产美女一区二区三区| 欧美日韩亚洲高清一区二区| 久久久精品国产免费观看同学| 亚洲视频一区二区在线| 精品一区二区三区在线视频| 91色视频在线| 精品国产百合女同互慰| 一区二区三区高清在线| 国产精品一级黄| 欧美卡1卡2卡| 亚洲欧美激情插 | 制服丝袜日韩国产| 成人免费在线视频| 久久电影网电视剧免费观看| 色综合中文字幕| 国产亚洲1区2区3区| 日产精品久久久久久久性色| 色哟哟精品一区| 国产午夜精品在线观看| 日本免费在线视频不卡一不卡二| 99久久婷婷国产综合精品电影| 精品国产乱码久久久久久浪潮| 国产精品12区| 3d动漫精品啪啪一区二区竹菊| 国产精品久久久99| 国产精品羞羞答答xxdd| 欧美一区二区三区视频免费播放| 亚洲欧美国产毛片在线| 国产精品影音先锋| 日韩精品一区二区三区中文不卡 | 亚洲精品成人天堂一二三| 国产91丝袜在线18| 日韩免费观看高清完整版 | 91黄色免费网站| 国产精品久久毛片a| 国产综合成人久久大片91| 69精品人人人人| 亚洲综合丝袜美腿| 色吧成人激情小说| 国产精品传媒在线| 成人毛片老司机大片| 久久久久久久久久久99999| 日韩综合小视频| 欧美三级欧美一级| 亚洲午夜影视影院在线观看| 91高清视频在线| 一区二区三区免费在线观看| 91在线观看污| 亚洲视频在线一区| 91色在线porny| 亚洲欧美激情视频在线观看一区二区三区 | 日本大胆欧美人术艺术动态| 欧美这里有精品| 亚洲午夜激情av| 欧美曰成人黄网| 亚洲成人动漫在线免费观看| 欧美在线观看18| 亚洲一区二区三区在线播放| 在线观看视频一区二区| 亚洲国产一区二区视频| 欧美视频在线一区| 婷婷综合另类小说色区| 91麻豆精品国产91久久久使用方法| 亚洲风情在线资源站| 欧美精品日韩精品| 看片的网站亚洲| 国产肉丝袜一区二区| 国产91清纯白嫩初高中在线观看| 亚洲国产成人一区二区三区| 成人免费av在线| 亚洲裸体xxx| 欧美日韩在线观看一区二区 | 亚洲午夜羞羞片| 欧美一区二区网站| 狠狠色2019综合网| 日本一区二区三区免费乱视频| 99久久久久免费精品国产| 一区二区三区在线免费观看| 欧美日韩在线不卡| 麻豆中文一区二区| 久久国产精品第一页| 久久久久久久久久久久久久久99 | 日韩中文欧美在线| 久久久久久99久久久精品网站| 岛国一区二区在线观看| 亚洲狠狠丁香婷婷综合久久久| 欧美久久久久久久久| 极品销魂美女一区二区三区| 欧美国产欧美综合| 欧美伊人久久大香线蕉综合69| 日本欧美一区二区在线观看| 久久久国产午夜精品| 日本大香伊一区二区三区| 蜜臀久久久99精品久久久久久| 欧美激情综合网| 欧美日韩国产首页在线观看| 国内成人精品2018免费看| 亚洲三级免费电影| 欧美一三区三区四区免费在线看| 国产一区二区三区在线观看免费| 亚洲欧洲av另类| 日韩一区二区三区高清免费看看| 高清在线成人网| 亚洲bt欧美bt精品777| 国产欧美一区二区精品婷婷| 欧美三级一区二区| 成人中文字幕在线| 婷婷六月综合网| 国产精品视频看| 欧美一级在线观看| av成人免费在线观看| 麻豆国产一区二区| 亚洲欧美色一区| 26uuu精品一区二区| 欧美视频在线观看一区二区| 成人免费av在线| 老汉av免费一区二区三区| 一区二区不卡在线播放 | 久久99国产精品免费| 亚洲免费观看高清完整版在线观看熊 | 亚洲一区二区视频在线| 日本一区二区三区久久久久久久久不| 欧美亚洲一区二区三区四区| 成人综合在线观看| 蜜桃av一区二区在线观看| 亚洲综合丝袜美腿| 国产精品灌醉下药二区| 26uuu欧美日本| 制服丝袜成人动漫| 91福利在线看| av电影在线观看一区| 国产乱对白刺激视频不卡| 亚洲成在人线免费| 一区二区三区在线观看欧美| 中文字幕av在线一区二区三区| 欧美v国产在线一区二区三区| 欧美视频一区二区三区四区| 99久久er热在这里只有精品66| 国产精品正在播放| 久久国内精品自在自线400部| 亚洲午夜电影在线观看| 亚洲欧美另类久久久精品| 中文字幕第一区综合| 久久久久久久综合色一本| 91麻豆精品国产无毒不卡在线观看| 国产日韩影视精品| 久久久久久日产精品| 精品处破学生在线二十三| 欧美一区二区三区爱爱| 欧美日韩一区二区三区高清| 日本精品视频一区二区|