www.pudn.com > processsimulateJbuild.rar > sortHRRN.java


package dispatcher;

class sortHRRN {
  public static int[] sort(int n[][]){
    int time=0;
    int finishTime=0;
    int a[]=new int[24];
    for(int i=0;i<24;i++)
      a[i]=-1;
    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];
    }
    PNode temp=p[0];
    while(time<24){
      double minResponse=0;
      for(int i=0;i<5;i++){
        if(p[i].arriveTime <=time && !p[i].isFinish ){
          int waitTime=time-p[i].arriveTime;//System.out.print("wtime:"+waitTime+" ");
          double response=(double)(waitTime+p[i].serveTime)/p[i].serveTime;
          if(response>minResponse){
            minResponse=response;
            temp=p[i];
          }
        }
      }//System.out.print("P:"+temp.number+" minR:"+minResponse+"    ");
      if(minResponse==0) time++;
      else{
        temp.isFinish =true;
        for(int j=0;j