优先级调度,按照给定的优先级调度,优先级越高,优先被调度。
输入:作业的数目,作业的到达时间与服务时间及其权值.
输出:作业的调用序列与其周转时间与结束时间。
运行结果:
所需数据结构:
//进程
struct Process
{
int id; //进程标记
int start_time; //进入时间
int surves_time; //服务时间
int turnover_time; //周转时间
int end_time; //结束时间
double priority; //权值
};
辅助函数:
//按照权值进行排序,如果权值相等,则按照进入时间进行排序
bool cmp3(const Process &p1, const Process &p2)
{
return (p1.priority > p2.priority) || (p1.priority==p2.priority && p1.start_time<p2.start_time);
}
实现方法: