sortrr2.java

来自「设计多个调度算法」· Java 代码 · 共 47 行

JAVA
47
字号
package dispatcher;import sun.misc.Queue;class sortRR2 {  public static int[] sort(int n[][]) throws InterruptedException{    Queue queue=new Queue();    PNode temp=null;    int a[]=new int[24];    for(int i=0;i<24;i++)      a[i]=-1;    int time=0;    PNode p[]=new PNode[5];    for(int i=0;i<5;i++){      p[i]=new PNode();    }    for(int i=0;i<5;i++){      p[i].number =i;      p[i].arriveTime = n[0][i];      p[i].serveTime =n[1][i];    }    while(time<24){      for(int i=0;i<5;i++)        if(p[i].arriveTime ==time && !p[i].isInQueue && p[i].serveTime>0  )          {queue.enqueue(p[i]) ;p[i].isInQueue=true;}      if(temp!=null && temp.serveTime>0)        {queue.enqueue(temp) ;}      if( ! queue.isEmpty() ){        temp=(PNode)queue.dequeue() ;        for(int i=0;i<4;i++){          a[time++]=temp.number;          for(int j=0;j<5;j++)            if(p[j].arriveTime ==time && !p[j].isInQueue && p[j].serveTime>0)              {queue.enqueue(p[j]) ;p[j].isInQueue=true;}          temp.serveTime--;          if(temp.serveTime<=0){            break;          }        }      }      else time++;    }    return a;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?