- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【酷文博分享】大学数据结构上机实习实验报告
班级:0361001
学号:2010211686
指导老师:刘友军
姓名:周承强
我的博客:酷文博,好玩的资料,互相交流~
数 据 结 构 上 机 实 习 报 告
实习题目:《银行离散事件模拟》
需求分析:
为了计算所有客户在银行的平均逗留时间,需要掌握每个客户到达银行和离开银行的时间,后者减去前者即为每个客户在银行的逗留时间。用当天的客户数去除以所有客户的逗留时间之和便是所求的平均逗留时间。
三.概要设计:
数据结构,使用到带头结点链表EvevtList,结点是LNode,,提供的操作有:InitList,DelFirst,GetCurElem,GetHead,OrderInsert,此链表用于存放客户的进入或者离开的事件,存放数据包括进入的时间,处理的时间,离开的时间
使用一个队列Queue,节点是QNode,队列的数据元素类型为QElemType,提供的主要操作有:InitQueue,QueueEmpty,QueueLength,GetHead,EnQueue,DeQueue,此队列用于模拟进入银行后等待办理业务的客户排队情况。其存储的数据有时间到达的时间和处理事物所需的时间。
层次调用关系,包括三个文件:Main.cpp,Queue.h和LinkList.h,后两个用于数据结构的定义,主要的程序在Main.cpp中,从main()进入调用Bank_Simulation(),Bank_Simulation()调用到OpenForDay(),CustomerArrived()和CustomerDeparture(),CustomerArrived()调用Random()和Minimum();
事件链表的设计
typedef struct
{
int OccurTime;
int NType;
}Event,ElemType;
typedef struct LNode // 结点类型
{
ElemType data;
LNode *next;
}*Link,*Position;
struct LinkList // 链表类型
{
Link head,tail; // 分别指向线性链表中的头结点和最后一个结点
int len; // 指示线性链表中数据元素的个数
};
typedef LinkList EventList;
队列的设计
typedef struct
{
int ArrivalTime; // 到达时刻
int Duration; // 办理事务所需时间
}QElemType; // 定义队列的数据元素类型QElemType为结构体类型
typedef struct QNode
{
QElemType data;
QNode *next;
}*QueuePtr;
struct LinkQueue
{
QueuePtr front,rear; // 队头、队尾指针
};
主要过程
void Bank_Simulation()
{ // 银行业务模拟函数
开门营业;
while(有客户进入或者等待办理) // 事件表ev不空
{
判断应该进行何种操作
若是客户到达
CustomerArrived(); // 处理客户到达事件
若是客户处理结束离开银行
CustomerDeparture(); // 处理客户离开事件
}
计算平均使用时间
输出相关数据
}
四.详细设计:
LinkList.h
#define Qu 2
#define jg 5
#define doing 30
#includestring.h
#includemalloc.h
#includestdlib.h
#includemath.h
#includeprocess.h
#includeiostream
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
typedef int Status;
typedef int Boolean;
typedef struct
{
int OccurTime;
int NType;
}Event,ElemType;
typedef struct LNode
{
ElemType data;
LNode *next;
}*Link,*Position;
struct LinkList
{
Link head,tail;
int len;
};
typedef LinkLi
您可能关注的文档
最近下载
- 呼吸衰竭ppt(共40张PPT).pptx VIP
- 7.1《风景谈》课件(共41张PPT)(含音频+视频).pptx VIP
- QXT3传感器中文操作手册.pdf VIP
- 病理科医疗质量自查表.docx VIP
- 菲亚特博悦说明书.docx VIP
- 2014-6-30电力变电站钢结构装配式建筑、围墙、防火墙.pdf VIP
- 上海市市东实验学校2022-2023学年高一10月月考语文试题.pdf VIP
- 《半导体物理与器件》教学大纲.docx VIP
- 2025青海公司所属华电(格尔木)能源有限公司面向华电系统内外招聘180人笔试备考试题及答案解析.docx VIP
- 人教版道德与法治四年级上册教案.docx VIP
文档评论(0)