银行排队问题之单队列多窗口服务C语言
时间: 2023-11-23 10:48:11 浏览: 210
利用C语言写的银行排队系统
5星 · 资源好评率100%
银行排队问题中的单队列多窗口服务是指在银行里有K个窗口提供服务,所有顾客按到达时间在黄线后排成一条长龙。当有窗口空闲时,下一位顾客即去该窗口处理事务。顾客总是选择编号最小的窗口。这个问题可以使用C语言来实现。
以下是解决该问题的一种思路:
1. 首先,读入顾客总人数N和开设的营业窗口数K。
2. 创建一个长度为K的数组,用于表示每个窗口的状态(是否空闲)。
3. 创建一个队列,用于存储顾客等待的顺序。
4. 循环读入每个顾客的到达时间T和事务处理时间P,并根据到达时间将顾客依次插入队列中。
5. 循环处理队列中的每个顾客:
- 找到第一个空闲的窗口,并将该顾客分配给该窗口。
- 更新该窗口的状态为不空闲,并计算该顾客的完成时间。
- 更新最长等待时间和最后完成时间。
6. 计算平均等待时间,最长等待时间和最后完成时间,并输出结果。
阅读全文