用数据结构中队列的方法编写叫号程序代码
时间: 2024-11-16 08:20:28 浏览: 7
idea+java多线程模拟队列实现排队叫号.zip
5星 · 资源好评率100%
在编写一个基于数据结构(如队列)的叫号程序代码时,我们可以使用先进先出(FIFO)特性来模拟排队系统。以下是一个简单的Python代码示例:
```python
class QueueBasedCallSystem:
def __init__(self):
self.queue = []
# 添加顾客到队列
def add_customer(self, customer_id):
self.queue.append(customer_id)
# 取消顾客(模拟叫号)
def call_next(self):
if len(self.queue) > 0:
return self.queue.pop(0)
else:
return None # 如果队列为空,返回None表示没有顾客
# 打印当前队列状态
def print_queue(self):
print("Queue:", self.queue)
# 使用示例
call_system = QueueBasedCallSystem()
call_system.add_customer(1)
call_system.add_customer(2)
call_system.add_customer(3)
while True:
next_customer = call_system.call_next()
if next_customer is not None:
print(f"Next customer: {next_customer}")
else:
break
# 结束时打印队列为空
call_system.print_queue()
```
在这个例子中,`add_customer`函数将顾客添加到队列末尾,`call_next`函数会从队列头部取下一个顾客并取消其等待状态。如果队列为空,则返回None表示没有顾客可以服务。
阅读全文