写一个程序队列的应用——排队看病
时间: 2024-11-27 17:09:53 浏览: 13
程序队列的应用可以很好地模拟现实生活中的场景,比如医院里的病人挂号就诊过程。我们可以创建一个"看病队列"数据结构,通常基于先进先出(First-In-First-Out, FIFO)原则,例如使用数组、链表或者并发编程中的线程池。
下面是一个简单的Python示例,使用列表来表示队列:
```python
class QueueDoctorApp:
def __init__(self):
self.queue = []
# 入队(添加病人)
def enqueue(self, patient_name):
self.queue.append(patient_name)
# 出队(看诊病人)
def dequeue(self):
if not self.is_empty():
return self.queue.pop(0)
else:
return None
# 检查队列是否为空
def is_empty(self):
return len(self.queue) == 0
# 看病过程(这里只是一个模拟,实际上会包含复杂的逻辑如检查预约时间等)
def treat_patient(self, patient):
print(f"{patient}正在接受诊疗...")
# 使用示例
doctor_app = QueueDoctorApp()
doctor_app.enqueue("张三")
doctor_app.enqueue("李四")
while not doctor_app.is_empty():
patient = doctor_app.dequeue()
doctor_app.treat_patient(patient)
```
在这个例子中,病人按照他们到达的时间顺序(即入队的先后顺序)依次就诊。每个病人从队列中移除(出队),然后进行相应的治疗操作。
阅读全文