编写程序,用链表的结构建立一条公交线路的站点信息,从键盘依次输入从起点到终点的各站站名,以单个“#”字符作为输入结束,统计站的数量并输出这些站点。
时间: 2023-11-11 11:04:13 浏览: 83
公交线路查询程序设计
4星 · 用户满意度95%
以下是使用Python语言实现的程序:
```python
class Node:
def __init__(self, data=None):
self.data = data
self.next = None
class BusLine:
def __init__(self):
self.head = None
self.tail = None
self.length = 0
def add_station(self, station):
new_node = Node(station)
if self.head is None:
self.head = new_node
else:
self.tail.next = new_node
self.tail = new_node
self.length += 1
def print_stations(self):
current_node = self.head
while current_node is not None:
print(current_node.data)
current_node = current_node.next
bus_line = BusLine()
while True:
station = input("请输入站点名称:")
if station == "#":
break
bus_line.add_station(station)
print("公交线路的站点数量为:", bus_line.length)
print("公交线路的站点信息为:")
bus_line.print_stations()
```
程序首先定义了一个`Node`类,表示链表中的节点,每个节点包含一个数据`data`和一个指向下一个节点的指针`next`。接着定义了一个`BusLine`类,表示公交线路,包含一个链表头节点`head`、尾节点`tail`和线路长度`length`。该类还定义了两个方法,`add_station`用于向链表中添加站点,`print_stations`用于输出链表中所有站点的信息。
程序主体部分通过循环不断从键盘输入站点名称,并调用`add_station`方法将站点添加到链表中,直到输入一个单个`#`字符为止。最后输出公交线路的站点数量和所有站点的信息。
需要注意的是,本程序并未进行输入数据的验证和异常处理,实际应用时需要根据具体情况进行改进。
阅读全文