- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
栈和队列及其应用-理发室问题
栈和队列及其应用
目的:
(1)了解栈和队列的特性,以便在实际问题背景下灵活运用应用;
(2)巩固对这两种结构的构造方法的理解 。
一、问题描述:
1、题目内容:使用队列模拟理发馆的排队现象,通过仿真手法评估其营业状况。
设某理发馆设有N把理发椅,可同时为N位顾客进行理发。当顾客进门时,若有空闲理发椅,则立即入座理发,否则依次排队候理,一旦有顾客理完发离去时,排在队头的顾客便开始理发。假若理发馆每天连续营业T小时(只要有顾客等待,理发椅就不空),求一天内顾客在理发馆内的平均逗留时间(包括理发所需时间和排队等候的时间)与顾客排队等候理发的人数的平均值(排队长度的平均值)。
2、基本要求
(1)当给定理发椅数及营业时间后,由随机数确定顾客理发时间及进门间隔时间,求出一天内顾客在理发馆平均逗留时间、平均队长及关门后收尾工作的时间。
(2)由用户读入的数据仅为理发椅数及营业时间。营业的时间以分钟计,理发椅数及关门时间均为整型,且均大于等于1。
3、测试数据
理发椅数目N及关门时间由用户读入,第一个顾客进门的时刻为0,之后每个顾客的进门时刻在前一个顾客进门时设定。即在进门事件发生时随即产生两个随机数(DU,IN),DU为进门顾客理发所需的服务时间(简称理发时间);IN为下一个顾客到达的时间间隔(简称间隔时间)。
二、实现提示:
R为由随机数发生器的随机数,顾客理发时间和顾客之间的间隔时间不妨假设与R有关,可以由下式确定:
DU=15+R%50 IN=2+R%10
确定的方法与实际越吻合,模拟的结果越接近现实的情况。
#includeiostream.h
#includestdlib.h
#includetime.h
#define XX 12 //本程序关键,XX控制随机数R的范围
typedef int ElemType;
struct Queue
{
ElemType *queue;
int front,rear,len;
int maxsize;
};
void Init(Queue Q,int i)
{
Q.maxsize=i;
Q.queue=new ElemType[Q.maxsize];
Q.front=Q.rear=0;
Q.len=0;
}
void str(Queue Q,ElemType x)
{
if((Q.rear+1)%Q.maxsize==Q.front)
{
int k=sizeof(ElemType);
Q.queue=(ElemType*)malloc(2*Q.maxsize*k);
if(Q.rear!=Q.maxsize-1)
{
for(int i=0;iQ.rear;i++)
{
Q.queue[i+Q.maxsize]=Q.queue[i];
}
Q.rear+=Q.maxsize;
}
Q.maxsize*=2;
}
Q.queue[Q.rear]=x;
Q.rear=(Q.rear+1)%Q.maxsize;
Q.len++;
}
void delet(Queue Q)
{
Q.front=(Q.front+1)%Q.maxsize;
Q.len--;
}
void main()
{
Queue Qchair; //定义一个队列与空椅的相关联;
Queue Qwait; //定义一个队列与排队人数,是否轮在理发相关联;
Init(Qchair,10);Init(Qwait,10);//初始化两个队列,并赋值长度为10
int n,t;
cout请输入数据:endl;
cout理发椅:;cinn;
cout营业时间:;cint;
srand((int)time(0));
int h[1000]; //理发所需时间
int g[1000]; //到来时间
int x[1000][2]; //开始理发时间和开始理发时队的长度
int i=1;
g[1]=0; //第一个顾客到来时间为0;
int R;
while(g[i]60*t) //当最后一个顾客到来时间超过营业时间,结束操作
{
R=rand()%XX+1; //得到随机数R
h[i]=15+R%50; //根据随机数计算得到第i个顾客理发所需时间,并存放h数组中;
g[i+1]=g[i]+2+R%10; //得到第i+1个顾客到来所需时间,得到第i+1个顾客实际到来时间,存放g数组中;
i++;
}
int a(1),b(1),c(1);
for(i=0;i6
您可能关注的文档
- 数据结构(第二版)第六讲.doc
- 北邮数据结构实验一题目4约瑟夫问题.doc
- 江苏省淮安市淮安中学2017届高三上学期第一次阶段测试(10月)英语.doc.docx
- 新标准大学英语3Summary.doc
- 英语作文必用句式.docx
- 四级作文高级表达.docx
- 环氧乙烷SDS.docx
- 化学英文命名.doc
- 停车场数据结构实验报告附代码.doc
- 数据结构实验四队列的实现.doc
- 25上半年2期套题班-行政职业能力测验(八).docx
- 公考讲义-2025年1月时政汇总.pdf
- 2025年省考逻辑填空1000 高频实词积累+刷题早读课 讲义.pdf
- 25上半年2期套题班-行政职业能力测验(九).docx
- 2025四川事业编FB综合岗考试-综合能力测试讲义-主观题基础,案例分析题,公文写作及文章写作题.pdf
- 25上半年2期套题班-行政职业能力测验(五).docx
- 2025申论多省联考刷题课真题资料-2025国考执法课程.doc
- 2025申论多省联考刷题课真题资料-2024江西执法课程.doc
- 25上半年2期套题班-行政职业能力测验(十).docx
- 2025申论多省联考刷题课真题资料-2024福建县乡课程.doc
最近下载
- 13S201室外消火栓及消防水鹤安装.docx
- 2025年春北师大版数学四年级下册教学计划.docx VIP
- 整理书桌课件(共28张PPT) 二年级上册劳动鲁科版.pptx VIP
- 2023年中国即时配送行业趋势白皮书-沙利文-2024.3.pptx
- 玻璃绝缘子技术规范书.docx
- 2023版新版资质认定评审准则培训课件.pptx
- 四年级下册科学活动手册答案(2023年新教科版).docx
- 2024_2025学年新教材高中地理第三章区域合作测评含解析湘教版选择性必修第二册.docx VIP
- 七年级下册第三单元整体教学说课课件.pptx
- GB∕T 26714-2019 油墨圆珠笔和笔芯(可复制版).pdf
文档评论(0)