短作业优先的算法思想:
通过对运行时间的排序然后比较,运行时间短的进程优先执行,第一个进程的开始时间等于到达时间,完成时间=开始时间+服务时间,当下一个进程的开始时间>=该进程的完成时间时,下一个进程的开始时间=上一个进程的完成时间,周转时间和带权周转时间根据公式可以得出
一下是算法的源码:
#include <stdio.h> //定一个结构体 struct sjf{ char name[10]; //进程名 float arrivetime; //到达时间 float servicetime;//服务时间 float starttime; //开始时间 float finishtime;//完成时间 float zztime;//周转时间 float dqzztime;//带权周转 }; //定义一个结构体数组 sjf a[100]; //定义一个输入函数 void input(sjf *p,int N) { int i; printf("intput the process's name & arrivetime & servicetime:\nfor exmple: