回 帖 发 新 帖 刷新版面

主题:编程

假定一个银行有k个出纳,客户来到银行时,如果所有的出纳都处于忙状态,则客户需排在队尾等待,直到k个出纳的其中之一能为其服务。同

样,当有多个出纳处于空闲状态,现有一个客户到达,则派空闲时间最长的出纳为其服务。

这类模拟系统一般由下面两个事件构成:

(1)       客户到达事件

(2)       客户离开事件

这类模拟称之为离散事件模拟,因为所模拟的事件是离散发生的事件。

我们可作如下模拟:

1.  客户到达事件(用命令a表示):客户自动获得顺序号,首先检查有无空闲的出纳,有则该客户获得服务,并打印“xxx号客户在i号柜台

得到服务”的信息;无则排到队尾等候。

2.  客户离开事件(用命令i表示,i为1到k之间的数,表示客户刚才是在i号柜台完成服务):检查有无等待服务的客户,有则排在队首的客

户得到服务,并打印“xxx号客户在i号柜台得到服务”的信息;无则该出纳处于空闲状态。

3.  结束模拟(用命令q表示)

请编写一个算法实现之。

 
 

回复列表 (共3个回复)

沙发

可以告诉你绝对没有人会给你编的!!!

板凳

真的还是假的呀?

3 楼

用队列写吧。兄弟!~

我来回复

您尚未登录,请登录后再回复。点此登录或注册