python顺序存储结构和链式存储结构分别来写一个包括学生的学号,姓名,分数的表格,代码是怎么写的
时间: 2024-09-12 13:03:22 浏览: 37
在Python中,顺序存储结构通常是通过列表(list)来实现的,而链式存储结构则可以通过自定义类和节点类来实现。下面是使用顺序存储结构和链式存储结构来表示学生信息表格的示例代码:
顺序存储结构(使用列表):
```python
# 定义学生信息的列表
students = [
{"学号": "001", "姓名": "张三", "分数": 85},
{"学号": "002", "姓名": "李四", "分数": 92},
{"学号": "003", "姓名": "王五", "分数": 78},
]
# 打印学生信息表格
print("顺序存储结构:学生信息表格")
for student in students:
print(f"学号: {student['学号']}, 姓名: {student['姓名']}, 分数: {student['分数']}")
```
链式存储结构(使用类和节点):
```python
# 定义学生信息的节点类
class StudentNode:
def __init__(self, student_info):
self.info = student_info
self.next = None
# 定义链表类来管理学生信息
class StudentList:
def __init__(self):
self.head = None
def append(self, student_info):
new_node = StudentNode(student_info)
if not self.head:
self.head = new_node
return
last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = new_node
def display(self):
current_node = self.head
print("链式存储结构:学生信息表格")
while current_node:
student_info = current_node.info
print(f"学号: {student_info['学号']}, 姓名: {student_info['姓名']}, 分数: {student_info['分数']}")
current_node = current_node.next
# 创建链表实例并添加学生信息
student_list = StudentList()
student_list.append({"学号": "001", "姓名": "张三", "分数": 85})
student_list.append({"学号": "002", "姓名": "李四", "分数": 92})
student_list.append({"学号": "003", "姓名": "王五", "分数": 78})
# 打印学生信息表格
student_list.display()
```
上述两个示例分别展示了如何使用顺序存储结构和链式存储结构来存储和打印学生信息。在顺序存储结构中,所有的学生信息被存储在一个列表中。而在链式存储结构中,每个学生信息被存储在节点类的实例中,这些节点通过指针连接形成链表。
阅读全文