3.5离散时间模拟
来源:互联网 发布:linux 运行脚本 编辑:程序博客网 时间:2024/06/05 15:43
在日常生活中,我们经常会遇到许多为了公共秩序而需要排队的情景。这样一类活动中模拟程序通常需要用到队列和线性表之类的数据结构,因此是队列的典型应用之一。
例如银行业务的模拟程序:
假设某银行有4个窗口对外接待客户,由于每个窗口每次只能服务一个客户,所以当人多的时候所有窗口都有人的时候,新来的客户需要排队等候;如果4个窗口中有至少有一个是没人的那么客户来就可以办理业务。
现在需要编制一个程序来模拟这种业务活动的计算,并计算出一天中客户在银行办理业务需要的平均时间(包括等待时间)。为了计算这个时间,我们需要知道客户到达的时间和离开的时间。模拟程序中需要的数据结构是队列,需要4个队列分别表示4个窗口排队的情况,队列中客户的主要信息是客户的达到时间和客户办理事务所需时间。
任何时刻即将发生的事件只有下列5中可能:
1.新客户到达;2.一号窗口客户离开;3.二号窗口客户离开;4.三号窗口客户离开;5。四号窗口客户离开。
表示5中事件的事件的有序链表的元素类型定义如下:
typedef struct{
int OccurTime; //事件发生时间
int NType; //事件类型,上述5种的一种
}Event,ElemType; //Event表示事件类型;ElemType表示有序链表的数据元素类型
4个队列的数据元素类型定义如下:
typedef struct{
int ArrivalTime; //到达时间
int Duration; //办理事务所需时间
}QElemType; //队列的数据元素类型
在上述定义的数据结构下实现该模拟程序大致如下:
EvenList ev; //事件表(5中事件的线性表?)
Event en; //事件
LinkQueue q[5]; //4个客户队列
QElemType customer; //客户记录(也就是队列的数据元素类型)
int TotalTime,CustomerNum;
- 3.5离散时间模拟
- 离散事件模拟--银行排队时间模拟
- 3.5离散事件模拟
- NS-2的离散时间模拟机制
- 3.5 离散事件模拟--银行业务模拟程序
- 数据结构上机题目--离散时间模拟(银行等待问题)
- 离散事件模拟
- 离散事件模拟
- 队列-模拟离散事件
- 离散事件模拟
- 麻省理工学院公开课:信号与系统:模拟与数字信号处理> 离散时间 傅里叶转换
- 离散时间信号
- 离散时间信号
- 离散时间控制系统
- 离散时间控制系统(2)
- 离散时间滤波器推导
- 离散时间LTI系统
- C语言 离散事件模拟
- 开源代码网站
- 二分实现查找不小于x的第一个数/不大于x的最后一个数
- 加快你打开浏览器主页的速度
- STL之非修改性序列算法2
- Android 上成功实现了蓝牙的一些Profile
- 3.5离散时间模拟
- 零空间
- Win7下添加右键获取管理员权限
- 编译错误-----Kconfig之'endmenu' in different file than 'menu'
- HDU3874:Necklace
- Android利用广播监听设备安装和卸载应用程序
- 【链表专题】:合并两个有序链表
- SRM 452 DIV 1 总结
- 跟我一起学Python之一:数字和表达式