单链表表实现写学生信息管理系统
时间: 2024-09-29 20:12:56 浏览: 38
单链表是一种简单的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。如果我们要用单链表来实现一个学生信息管理系统,可以按以下步骤设计:
1. **节点定义**:首先,创建一个`StudentNode`类,代表链表中的一个节点,包含学生的属性(如学号、姓名、成绩等)以及一个指向下一个节点的指针。
```python
class StudentNode:
def __init__(self, student_id, name, grade):
self.student_id = student_id
self.name = name
self.grade = grade
self.next = None
```
2. **链表结构**:定义一个`StudentList`类,用于维护整个学生链表,包括头节点和链表的操作方法(添加学生、删除学生、查找学生等)。
```python
class StudentList:
def __init__(self):
self.head = None
# 添加学生到链表末尾
def add_student(self, student):
if not self.head:
self.head = StudentNode(student.student_id, student.name, student.grade)
else:
current_node = self.head
while current_node.next:
current_node = current_node.next
current_node.next = StudentNode(student.student_id, student.name, student.grade)
# 删除学生
def delete_student(self, student_id):
if not self.head:
return
if self.head.student_id == student_id:
self.head = self.head.next
return
prev_node = self.head
while prev_node.next and prev_node.next.student_id != student_id:
prev_node = prev_node.next
if prev_node.next:
prev_node.next = prev_node.next.next
# 查找学生
def find_student(self, student_id):
current_node = self.head
while current_node:
if current_node.student_id == student_id:
return current_node
current_node = current_node.next
return None
```
阅读全文