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


package dispatcher;
import sun.misc.Queue;

class sortFB2 {
  public static int[] sort(int n[][]) throws InterruptedException{
    final int N=10;
    Queue queue[]=new Queue[N];
    for(int i=0;i0){
          currentPnum++;
          queue[0].enqueue(p[i]) ;System.out.print("  time:"+time+" en1:"+p[i].number);
        }*/
    while(time<24){
      int currentQueue=-1;
      for(int i=0;i0){
                currentPnum++;
                queue[0].enqueue(p[i]) ;//System.out.print("  time:"+time+" en5:"+p[i].number);
              }
            }
            temp.serveTime--;
            if(temp.serveTime<=0) break;
          }
        }
        if(currentPnum==0){
          if(temp!=null && temp.serveTime>0)
          {queue[currentQueue].enqueue(temp) ;currentPnum++;}//System.out.print("  time:"+time+" en3:"+temp.number);}
        }
        else
          if(temp!=null && temp.serveTime>0)
          {queue[currentQueue+1].enqueue(temp) ;currentPnum++;}//System.out.print("  time:"+time+" en4:"+temp.number);}
      }

      else if(currentPnum>1){
        if( ! queue[currentQueue].isEmpty() ){
          temp=(PNode)queue[currentQueue].dequeue() ;currentPnum--;
          int q=(int)Math.pow(2,currentQueue);
          for(int j=0;j0){
                currentPnum++;
                queue[0].enqueue(p[i]) ;//System.out.print("  time:"+time+" en5:"+p[i].number);
              }
            }
            temp.serveTime--;
            if(temp.serveTime<=0) break;
          }
        }

        if(temp!=null && temp.serveTime>0){
          if(currentQueue>=N-1) queue[currentQueue].enqueue(temp) ;
          else queue[currentQueue+1].enqueue(temp) ;
          currentPnum++;
        }//System.out.print("  time:"+time+" en6:"+temp.number);}
      }

      else{
        time++;
        for(int i=0;i<5;i++)
        if(p[i].arriveTime ==time && p[i].serveTime>0){
          currentPnum++;
          queue[0].enqueue(p[i]) ;//System.out.print("  time:"+time+" en1:"+p[i].number);
        }
      }

    }
    return a;
  }
}