设计1题目:病人看病模拟程序

1、设计1目的

深入掌握队列应用的算法设计。

2、设计1正文

2.1 实验内容

编写一个程序,反映病人到医院排队看病的情况。在病人排队过程中,主要重复下面两件事。

⑴病人到达诊室,将病历本交给护士,排到等待队列中候诊。

⑵护士从等待队列中取出下一位病人的病例,该病人进入诊室就诊。

要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下。

⑴排队:输入排队病人的病历号,加入病人排队队列中。

⑵就诊:病人排队,队列中最前面的病人就诊,并将其从队列中删除。

⑶查看排队:从队头到队尾列出所有排队病人的病历号。

⑷不再排队,余下依次就诊:从队头到队尾列出所有排队病人的病例号,并退出运行。

⑸下班:退出运行

实验中设计的功能算法如下:

本实验采取链队列存放病人排队的情况。设计的功能算法如下。

SeeDoctor():模拟病人看病过程。病人排队看病要用到一个队列,可以设计了一个链队列。

Destroyqueue(QuType *&qu):释放病人排队所建立的就医队列。

exist(QuType *qu,int no):队列中是否有病历号no的病人在排队。

2.2 实验分析

根据实验内容分析,病人看病这个过程符合先进先出的特点,并且病人数量存在不确定性,因此采取链队队列这一数据结构来解决而采用普通队列的话则可能因为病人树数量过多而发生错误。

在病人排队这个过程中,主要进行两种事情:1.病人排队候诊(进队)也就是LineUp()函数2.病人进诊室就诊(出队)也就是SeeDoctor()函数。

其中查看排队对应着队列的遍历,不在排队,余下依次就诊可以用一个判定条件为队列非空的循环来依次输出队列的剩余元素通过AllSee࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

还没有名字哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值