Back_AND_Free 2024-05-29 16:21 采纳率: 0%
浏览 19

SJF抢占式C语言代码


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抢占式的算法
  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2024-05-29 16:21
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    【解题思路】:使用优先队列管理进程,按最短剩余时间优先抢占式调度。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月29日