作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRRN)的调度算法。 对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间,以比较各种算法的优缺点。
如果打开出现乱码,应该是编码方式的不同,你只需要用记事本打开,再复制内容到你本地的编译软件上即可
typedef struct node{
int name;
int Tb; //作业开始时间
int use_time; //作业运行时间,随机分配,1~10
int tijiao; //提交时间
int Tc; //作业完成时刻=开始运行时刻 运行时间
int Ti; //作业周转时间=完成时刻-提交时刻
int Wi; //带权周转时间=周转时间/运行时间
double xyb; //响应比
char state; //进程状态W--就绪,R--运行,F--完成
}JBC;int H_paixu()
{
cout<<"响应比高者优先排序后如下:"<<"\n";
cout<<"作业名"<<" "<<"响应比"<<"\n";
for(int i=0;i<num;i )
{
for(int j=i 1;j<num;j ) //根据作业响应比时间,从大到小排序
{
node change;
if(zou1[i].xyb<zou1[j].xyb)
{
change=zou1[i];
zou1[i]=zou1[j];
zou1[j]=change;
}
}
cout<<zou1[i].name<<"\t"<<"\t"<<zou1[i].xyb<<"\n"; //检测排序
Q.push(zou1[i]);
}
}
评论