数据结构与算法第6讲队列.ppt

*/46 事件驱动模拟 一个系统模拟另一个系统行为的技术称为模拟技术。 银行业务模拟: 假设某个银行有3个窗口对外接待客户。 客户在人数多时需在窗口前顺序排队。 刚进入的客户,发现某个窗口空闲,可办理业务。 若3个窗口都有客户在办业务,则需排在人数最少的队列后面。 设计程序模拟银行业务并计算一天中所有客户在银行停留的平均时间。 提出问题 */46 平均时间等于每一客户离开时间减去到达时间再除以总客户数目。 事件分为两类: 事件0:客户到达事件 事件1-3:客户离开事件(窗口1,2,3) struct EventType //事件 { int occurTime; //事件发生时刻 int eventType; //事件类型,0~4 }; 分析问题 */46 优先队列:模拟客户在银行窗口排队 任何时刻发生的事件: 客户达到事件 1号窗口客户离开事件 2号窗口客户离开事件 3号窗口客户离开事件 struct QElemType //窗口队列中数据元素类型 { int arrivalTime; //客户到达时刻 int duration; //客户办理业务需要的时间 }; 分析问题 */46 class BankSimulation { protected: // 模拟类的数据成员:

文档评论(0)

1亿VIP精品文档

相关文档