数据结构银行排队代码
时间: 2024-11-03 22:08:21 浏览: 19
在银行排队模拟的例子中,通常会使用数据结构如队列(Queue)来代表顾客的办理顺序。每个顾客可以看作是一个元素,按照先进先出(FIFO,First-In-First-Out)的原则放入队列中。当某位顾客完成服务后,就从队列头部取出下一个顾客继续服务。
下面是一个简单的Python代码示例,使用`list`作为队列:
```python
class BankQueue:
def __init__(self):
self.queue = []
# 添加顾客到队列
def enqueue(self, customer):
self.queue.append(customer)
# 服务顾客(假设处理时间为常数)
def serve_customer(self):
if len(self.queue) > 0:
served_customer = self.queue.pop(0)
print(f"Customer {served_customer} is being served.")
# 假设服务完成后,返回True表示队列未空
return True
else:
print("No customers in the queue.")
return False
# 使用示例
bank_queue = BankQueue()
bank_queue.enqueue("Customer A")
bank_queue.enqueue("Customer B")
while bank_queue.serve_customer():
pass
```
在这个例子中,`enqueue`方法用于添加新来的顾客,`serve_customer`方法检查并移除第一个顾客。如果队列为空,服务结束。
阅读全文