job.h

来自「常用算法与数据结构原代码」· C头文件 代码 · 共 45 行

H
45
字号
// task and job classes for machine scheduling
#ifndef Job_
#define Job_

class Task 
{
	friend class Job;
	friend bool MoveToNextMachine(Job*);
private:
	long time;
	int  machine;
};

class Job 
{
	friend bool MoveToNextMachine(Job*);
	friend Job* ChangeState(int);
	friend void Simulate();
	friend class Machine;
public:
	Job(long id) {ID = id;
	Length = ArriveTime = 0;}
	void AddTask(int p, long t) 
	{
		Task x;
		x.machine = p;
		x.time = t;
		TaskQ.Add(x);
	}
	long DeleteTask() 
	{// delete next task
		Task x;
		TaskQ.Delete(x);
		Length += x.time;
		return x.time;
	}
private:
	LinkedQueue<Task> TaskQ;
	long Length;      // sum of scheduled task times
	long ArriveTime;  // arrival time at current queue
	long ID;          // job identifier
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?