50,549
社区成员
发帖
与我相关
我的任务
分享
public static void proccess(Queue<Patient> p ,int currentTime,int leftOfEmptyBeds,int totalTime)
{
int minSeeTime = minSeeTime(p); //求出数组中最小门诊时间
//int numOfMinSeeTime = numOfPatient(p, minSeeTime); //算出最小门诊时间的个数
/*if(numOfMinSeeTime < leftOfEmptyBeds) //外伤人数小于剩余病床数
{*/
197行: for (Patient patient : p)
/* for(Iterator it = p.iterator();it.hasNext();)*/
{
/* Patient patient = (Patient)it.next();*/
if (patient.getSeeTime() == minSeeTime)
{ //在数组中找到最小门诊时间的对象
for (int i = 0; i < bed.length; i++)
{ //遍历病床数组,寻找空床,若出现空床,则将病人填入病床数组,并从等待队列中将该病人删除。
if (bed[i].isEmpty() == true)
{
patient.setInTime(currentTime);//入院时间
patient.setWaitTime(currentTime-patient.getSeeTime());
patient.setOutTime(currentTime+totalTime);//外伤总住院天数为8天
bed[i].setPatients(patient);
//it.remove();
p.poll();
//p.remove();
leftOfEmptyBeds--; //剩余病床数减少
}
}
}
}
//}
}