码迷,mamicode.com
首页 > 其他好文 > 详细

SJF(最短作业优先)

时间:2016-06-14 14:06:09      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>
#include<stdlib.h>
#define N 100


typedef struct process
{
 int num;
 int time;
 int start;
 int end;
 int begin;
 int freetime;
 int arrivetime;
 int finish;
 int turn;
 double average;
}P;

P a[N],b;
int wordtime=0;

void sjf(int i,int j,int t,int n){
 a[0].finish=a[0].arrivetime+a[0].freetime;//给予a[0]初值
 wordtime=a[0].finish;
    a[0].turn=a[0].time;
 a[0].average=(float)a[0].turn/a[0].time;
 for(i=1;i<n;i++)//执行
 {
  for(j=i+1;j<n;j++)
  {
   if(a[j].arrivetime<=a[i-1].finish)
   {
    for(t=i;t<=j;t++)
    {
     if(a[t].time>a[j].time)
     {
      b=a[j];
      a[j]=a[t];
      a[t]=b;
     }
    }
   }
  } 
  if(a[i].arrivetime<a[i-1].finish)
  {
   a[i].finish=a[i-1].finish+a[i].freetime;
   a[i].turn=a[i].finish-a[i].arrivetime;
  }
  else
  {
   a[i].finish=a[i].arrivetime+a[i].freetime;
   a[i].turn=a[i].time;
  }
  a[i].average=(float)a[i].turn/a[i].time;
  wordtime=a[i].finish;
 }
 技术分享

SJF(最短作业优先)

标签:

原文地址:http://www.cnblogs.com/guo2016/p/5583588.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!