队列

public class Queue {
public static void main(String[] args) {
int dwait = 0,clock = 0,wait = 0,count = 0,have = 0,finish;
int arr,tre;
Qnode curr,temp;
StringTokenizer r;
sequenceQueue wa = new sequenceQueue();
try {
BufferedReader br = new BufferedReader(new FileReader("D://customer.txt"));
String s;
s = br.readLine();
r = new StringTokenizer(s);
arr = Integer.parseInt(r.nextToken());
tre = Integer.parseInt(r.nextToken());
temp = new Qnode(arr,tre);
while (wa.size()!=0 || s!=null){
if (wa.size()==0 && s!=null){
dwait += temp.arrive-clock;
clock = temp.arrive;
wa.EnQueue(temp);
s = br.readLine();
if(s!=null){
r = new StringTokenizer(s);
arr = Integer.parseInt(r.nextToken());
tre = Integer.parseInt(r.nextToken());
temp = new Qnode(arr,tre);
}
}
count++;
curr = wa.DeQueue();
wait+=clock-curr.arrive;
finish = clock+curr.treat;
while (s!=null && temp.arrive<=finish){
wa.EnQueue(temp);
s = br.readLine();
r = new StringTokenizer(s);
arr = Integer.parseInt(r.nextToken());
tre = Integer.parseInt(r.nextToken());
temp = new Qnode(arr,tre);
}
clock = finish;
}
}catch (IOException e){
System.out.println("文件访问异常!+e");
e.printStackTrace();
}
System.out.println("业务员等待时间 客户平均等待时间");
System.out.println(dwait+" "+(double)wait/count);
System.out.println("模拟总时间 客户人数 总等待时间");
System.out.println(clock+" "+count+" "+wait);
}
}
class Qnode{
public int arrive;
public int treat;
public Qnode(int a,int t){
arrive = a;
treat = t;
}
}

class sequenceQueue{
final int MaxSize = 10;
private int front,rear;
private T queueArray[];

public sequenceQueue(){
    this(32);
}
public sequenceQueue(int length) {
    this.elements=new Object[length];
    queueArray=(T[])new Object[MaxSize];
    this.front=0;
    this.rear=0;
}

https://www.taobao.com

    • sd* sd* as* hgf````
posted @ 2020-11-09 20:22  啦啦啦。。  阅读(40)  评论(0)    收藏  举报