数据结构(C语言版) 习题 ITC-L2P6 银行排队问题

使用 C++ 语言,实现了银行排队问题的模拟
摘要由CSDN通过智能技术生成

6.银行排队问题

代码:
Code on gitee

【笔记】银行排队问题模拟

使用 C++ 语言,实现了银行排队问题的模拟。主要思路如下:

1. 输入

首先, 从标准输入中读取两个整数,分别代表窗口数 m 和客户数 total。

2. 模拟排队

对于每个客户, 从标准输入中读取两个整数,分别代表该客户到达的时间 tIn 和需要的服务时间 tNeed。然后,模拟客户在银行排队等待服务的过程。

具体来说, 维护一个数组 tNow,其中 tNow[i] 表示第 i 个窗口当前排队的时间。同时, 维护一个队列 tWait,其中存储需要等待的客户需要等待的时间。

对于每个客户, 寻找当前最空闲的窗口,然后判断该客户是否需要等待。

  • 如果不需要等待,则该客户可以直接接受服务,服务结束时间为 tIn + tNeed;
  • 如果需要等待,则将该客户加入队列 tWait 中,同时更新该窗口的排队时间为上一个客户服务结束的时间加上当前客户的服务时间。

循环执行上述过程,直到处理完所有的客户为止。

3. 计算平均等待时间

处理完所有客户后, 计算客户的平均等待时间。

具体来说, 遍历队列 tWa

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值