模拟渡口管理数据结构代码
时间: 2024-10-21 15:03:47 浏览: 24
模拟渡口管理的数据结构通常涉及到一些核心元素,例如船只、乘客、航线和时间表等。下面是一个简单的Python示例,展示了如何创建一个基本的渡口管理类结构:
```python
class Ferry:
def __init__(self, name, capacity):
self.name = name
self.capacity = capacity
self.passengers = []
def load_passengers(self, passengers):
if len(passengers) <= self.capacity:
self.passengers.extend(passengers)
return True
else:
print(f"渡船'{self.name}'已满载,无法接纳更多乘客")
return False
def unload_passengers(self, destination):
for passenger in self.passengers:
# 这里可以根据目的地规则卸载乘客,实际应用中可能更复杂
if destination == passenger.destination:
self.passengers.remove(passenger)
break
else:
print(f"渡船'{self.name}'上没有前往{destination}的乘客")
class Passenger:
def __init__(self, name, destination):
self.name = name
self.destination = destination
# 示例用法
ferry_1 = Ferry("渡船A", 50)
passengers = [Passenger("乘客1", "B"), Passenger("乘客2", "C")]
# 加载乘客
ferry_1.load_passengers(passengers[:3]) # 可能会输出 "渡船'A'已满载"
ferry_1.load_passengers([Passenger("乘客4", "D")]) # 输出 "渡船'A'已满载"
# 卸载乘客
ferry_1.unload_passengers("B") # 输出 "渡船'A'上卸下乘客 '乘客1'"
```
在这个例子中,`Ferry`类代表渡船,它有装载和卸载乘客的方法;`Passenger`类表示乘客,包含姓名和目的地属性。你可以根据需要扩展这个结构,比如添加时间表、调度算法等功能。
阅读全文