如何使用顺序表结构写一份学生表代码
时间: 2024-10-16 08:16:25 浏览: 18
数据结构和算法-2.顺序表与链表
在使用顺序表结构(也称为数组或动态数组)来表示学生表时,我们通常会创建一个包含学生信息的数据结构,比如包含姓名、学号和成绩等属性。这里是一个简单的Python示例:
```python
class Student:
def __init__(self, name, id, score):
self.name = name
self.id = id
self.score = score
# 定义一个顺序列表用于存储学生
class SequentialStudentList:
def __init__(self, capacity=10): # 初始化列表容量
self.students = [None] * capacity
self.size = 0
def add_student(self, student):
if self.size < len(self.students): # 如果还有空位,直接添加
self.students[self.size] = student
self.size += 1
else: # 否则需要扩展列表
new_list = [None] * (len(self.students) * 2)
for i in range(self.size):
new_list[i] = self.students[i]
self.students = new_list
self.students[self.size] = student
self.size += 1
def get_student_by_id(self, id):
for i in range(self.size):
if self.students[i].id == id:
return self.students[i]
return None # 没找到对应的学生
# 示例
student1 = Student('张三', 1001, 95)
student2 = Student('李四', 1002, 88)
student_list = SequentialStudentList()
student_list.add_student(student1)
student_list.add_student(student2)
# 获取特定学生的分数
score = student_list.get_student_by_id(1001).score
print(f"学生{student1.name}的成绩是:{score}")
```
阅读全文