快期末了在复习操作系统,顺便把实验课上写的算法重新写一遍
先来先服务算法非常简单,当作业来了,先来先运行,后来的按到达时间的先后排在就绪队列上,每次取队首元素运行。
实验环境是WIN7 64位+Visual Studio 2015
//main.cpp
#include "FCFS.h"
int main()
{
std::vector<PCB> PCBList;
//输入作业信息
InputPCB(PCBList);
//FCFS算法
FCFS(PCBList);
//显示结果
show(PCBList);
return 0;
}
//FCFS.h
#ifndef FCFS_H_
#define FCFS_H_
#include <iostream>
#include <iomanip>
#include <vector>
#include <queue>
//作业结构体
typedef struct PCB
{
int ID; //标识符
int ComeTime; //到达时间
int ServerTime; //服务时间
int FinishTime; //完成时间
int TurnoverTime; //周转时间
double WeightedTurnoverTime; //带权周转时间
}PCB;
/*
函数功能:输入作业信息
参数说明:
PCBList std::vector<PCB>& PCB链
*/
void InputPCB(std::vector<PCB> &