利用链表做一个学生表具有添加查询删除等功能
时间: 2024-05-05 15:17:11 浏览: 13
以下是一个基于链表实现的学生表,具有添加、查询、删除等功能的示例代码:
```python
class Student:
def __init__(self, id, name, age, gender):
self.id = id
self.name = name
self.age = age
self.gender = gender
self.next = None
class StudentList:
def __init__(self):
self.head = None
def add_student(self, id, name, age, gender):
new_student = Student(id, name, age, gender)
if self.head is None:
self.head = new_student
else:
current = self.head
while current.next is not None:
current = current.next
current.next = new_student
def print_list(self):
current = self.head
while current is not None:
print(f"ID: {current.id}, Name: {current.name}, Age: {current.age}, Gender: {current.gender}")
current = current.next
def search_student(self, id):
current = self.head
while current is not None:
if current.id == id:
return current
current = current.next
return None
def delete_student(self, id):
if self.head is None:
return
if self.head.id == id:
self.head = self.head.next
return
current = self.head
while current.next is not None:
if current.next.id == id:
current.next = current.next.next
return
current = current.next
```
使用示例:
```python
# 创建一个学生列表
students = StudentList()
# 添加学生
students.add_student(1, "Tom", 18, "Male")
students.add_student(2, "Lucy", 19, "Female")
students.add_student(3, "Jack", 20, "Male")
# 打印学生列表
students.print_list()
# 输出:
# ID: 1, Name: Tom, Age: 18, Gender: Male
# ID: 2, Name: Lucy, Age: 19, Gender: Female
# ID: 3, Name: Jack, Age: 20, Gender: Male
# 查询学生
student = students.search_student(2)
if student is not None:
print(f"ID: {student.id}, Name: {student.name}, Age: {student.age}, Gender: {student.gender}")
# 输出:
# ID: 2, Name: Lucy, Age: 19, Gender: Female
# 删除学生
students.delete_student(2)
# 再次打印学生列表
students.print_list()
# 输出:
# ID: 1, Name: Tom, Age: 18, Gender: Male
# ID: 3, Name: Jack, Age: 20, Gender: Male
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)