typedef struct Process {
int id;
int arrival_time; // 到达时间
int burst_time; // 服务时间
int wait_time; // 等待时间
int start_time; // 开始时间
int finish_time; // 完成时间
int turnaround_time; // 周转时间
} Process;
int compare(const void *a, const void *b) {
Process *processA = (Process *)a;
Process *processB = (Process *)b;
return processA->burst_time - processB->burst_time;
}
void SJF_preemptive1(){
Process processes[] = {
{1, 0, 4, 0, 0, 0, 0},
{2, 2, 6, 0, 0, 0, 0},
{3, 6, 1, 0, 0, 0, 0},
{4, 8, 3, 0, 0, 0, 0},
{5, 10, 2, 0, 0, 0, 0}
};
//补全代码
for (int i = 0; i < n; i++) {
printf("Process %d: Arrival=%d, Burst=%d, Start=%d, Finish=%d, Wait=%d, Turnaround=%d\n",
processes[i].id,
processes[i].arrival_time,
processes[i].burst_time,
processes[i].start_time,
processes[i].finish_time,
processes[i].wait_time,
processes[i].turnaround_time);
}
}
相关数据结构和函数已经写好了 在注释处补全代码实现SJF抢占式的算法
SJF抢占式C语言代码
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
阿里嘎多学长 2024-05-29 16:21关注以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:
【解题思路】:使用优先队列管理进程,按最短剩余时间优先抢占式调度。
解决 无用评论 打赏 举报