求一个包含学生信息(学号,姓名,成绩)的单链表代码,使其具有如下功能: (1) 根据指定学生个数,逐个输入学生信息,并保存到文件中; (2) 逐个显示学生表中所有学生的相关信息; (3) 根据中文姓名进行查找,返回此学生的学号和成绩; (4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩); (5) 给定一个学生信息,插入到表中指定的位置; (6) 删除指定位置的学生记录; (7) 统计表中学生个数。
时间: 2023-04-11 09:01:10 浏览: 57
1_lower7y7_定义一个包含学生信息(学号_成绩)的顺序表和链表(二选一)_姓名_使其具有如下功能_
5星 · 资源好评率100%
以下是一个包含学生信息的单链表代码,具有如下功能:
(1) 根据指定学生个数,逐个输入学生信息,并保存到文件中;
(2) 逐个显示学生表中所有学生的相关信息;
(3) 根据中文姓名进行查找,返回此学生的学号和成绩;
(4) 根据指定的位置可返回相应的学生信息(学号,姓名,成绩);
(5) 给定一个学生信息,插入到表中指定的位置;
(6) 删除指定位置的学生记录;
(7) 统计表中学生个数。
代码如下:
```python
class Student:
def __init__(self, num, name, score):
self.num = num
self.name = name
self.score = score
self.next = None
class StudentList:
def __init__(self):
self.head = None
self.count = 0
def add(self, num, name, score):
student = Student(num, name, score)
if self.head is None:
self.head = student
else:
current = self.head
while current.next is not None:
current = current.next
current.next = student
self.count += 1
def display(self):
current = self.head
while current is not None:
print("学号:{},姓名:{},成绩:{}".format(current.num, current.name, current.score))
current = current.next
def search(self, name):
current = self.head
while current is not None:
if current.name == name:
return current.num, current.score
current = current.next
return None
def get(self, index):
if index < 0 or index >= self.count:
return None
current = self.head
for i in range(index):
current = current.next
return current.num, current.name, current.score
def insert(self, index, num, name, score):
if index < 0 or index > self.count:
return False
student = Student(num, name, score)
if index == 0:
student.next = self.head
self.head = student
else:
current = self.head
for i in range(index - 1):
current = current.next
student.next = current.next
current.next = student
self.count += 1
return True
def delete(self, index):
if index < 0 or index >= self.count:
return False
if index == 0:
self.head = self.head.next
else:
current = self.head
for i in range(index - 1):
current = current.next
current.next = current.next.next
self.count -= 1
return True
def get_count(self):
return self.count
```
注意:这个代码只是一个示例,可能还有一些细节需要根据实际情况进行修改。
阅读全文